Unity3D筆記(十三)關(guān)于值類型與引用類型

一.值類型、引用類型的定義

值類型:直接訪問數(shù)據(jù)的值。

引用類型:訪問數(shù)據(jù)的存儲(chǔ)地址。

二. C#中如何判定值類型

使用Type.IsValueType屬性,true為值類型。


值類型判斷

三.值類型與引用類型主的主要類型

值類型:基本數(shù)據(jù)類型(int、float、double等)、結(jié)構(gòu)數(shù)據(jù)類型、枚舉數(shù)據(jù)類型。

引用類型:類、接口、數(shù)組、字符串和委托。

四.值類型與引用類型的不同點(diǎn)

1.內(nèi)存分配不同:值類型通常被分配到棧上,它的變量直接包含變量的實(shí)例,使用效率比較高。

引用類型分配在堆上,它的變量通常會(huì)包含一個(gè)指向?qū)嵗闹羔?,變量通過該指針來引用實(shí)例。

2.默認(rèn)值不同:值類型默認(rèn)情況下自動(dòng)初始化為0。引用類型默認(rèn)情況下為null。

3.繼承類不同:值類型繼承自System.ValueType。引用類型繼承自System.Object。

4.回收方法:值類型不由GC控制,作用域結(jié)束時(shí)自行釋放。引用類型由GC完成。

5.繼承性不同:值類型是密封的,因此不能用作基類。引用類型一般有繼承性。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容