1. 程式人生 > >C#值型別和引用型別淺析

C#值型別和引用型別淺析

C#中的型別分為兩類

型別分類
1:值型別
值型別變數儲存的是實際資料
2:引用型別
引用型別變數儲存的是實際資料所在的記憶體地址

引用型別和值型別的區別
值型別是空間在棧記憶體中分配,分配的空間大小因型別的不同而不同
引用型別在棧中分配的記憶體空間是相同的,不同的是在堆疊中分配的空間

C#型別
值型別:struct,enum。
引用型別:class,delegate,array,interface

所以在定義一個值型別變數並賦值的時候,值型別中儲存的就是其實際值,直接儲存在棧中。

當定義一個引用型別變數並賦值的時候,其變數其實儲存的是一個地址位於棧中,其地址指向才是變數的具體資料,其儲存在堆中。