簡介

       該博文記錄一些工作中接觸較多的基礎(chǔ)知識點(diǎn)的總結(jié)。

知識點(diǎn)

一、值類型和引用類型

      定義:值類型派生自System.ValueType,包括一般的非字符串基本類型(decemal,int,float)、結(jié)構(gòu)體、枚舉,可空類型(T?)。引用類型包括接口,類,數(shù)組,委托,string等需要人工new創(chuàng)建的類型。

      內(nèi)存分配上有什么區(qū)別?

      值類型分配在它聲明的地方:作為字段時(shí),跟隨其所屬的變量(實(shí)例)存儲。作為局部變量時(shí)(eg:方法內(nèi)部局部變量),存儲在棧上;而引用類型的的聲明(指針)放在棧里面,而對應(yīng)的實(shí)例對象(new 的對象)放在堆里面,引用類型在 C++中需要人工回收,而在C#中GC的3級回收機(jī)制可以自動(dòng)回收托管代碼。

      錯(cuò)誤回答:值類型放在內(nèi)存棧里面,而引用類型放在堆里面。

網(wǎng)友評論