C 值型別與引用型別

2021-06-06 06:41:14 字數 620 閱讀 4546

1. 主要內容

型別的基本概念

值型別深入

引用型別深入

值型別與引用型別的比較及應用

2. 基本概念

c#中,變數是值還是引用僅取決於其資料型別。

c#的基本資料型別都以平台無關的方式來定義,c#的預定義型別並沒有內置於語言中,而是內置於.net framework中。.net使用通用型別系統(cts)定義了可以在中間語言(il)中使用的預定義資料型別,所有面向.net的語言都最終被編譯為 il,即編譯為基於cts型別的**,

通用型別的系統的功能:

c#的所有值型別均隱式派生自system.valuetype:

bool型:bool(system.boolean的別名);

使用者定義的結構體(派生於system.valuetype)。

列舉:enum(派生於system.enum);

可空型別(派生於system.nullable泛型結構體,t?實際上是system.nullable的別名)。

object(system.object的別名);

字串:string(system.string的別名)。

可以看出:

c 引用型別與值型別

c 的值型別包括 結構體 數值型別,bool型,使用者定義的結構體 列舉,可空型別。c 的引用型別包括 陣列,使用者定義的類 介面 委託,object,字串。在c 中函式傳值的特點 1.對於複雜的資料型別,按引用傳遞的效率更高,因為在按值傳遞時,必須複製大量的資料 2.除非特別指定,所有的引用型別都...

C 值型別與引用型別

資料型別分為 值型別 引用型別 值型別 int char double bool 結構 struct 列舉 enum 儲存在堆疊中 引用型別 類 string。陣列 介面 儲存在託管堆中 2.值型別 變數儲存物件的值,賦值會建立值的副本,修改任何乙個副本,不會影響其他的 副本 int x 5 int...

C 值型別與引用型別

在開始介紹c 中的資料型別之前,理解c 把資料型別分為兩種是非常重要的 值型別引用型別 下面將詳細介紹值型別和引用型別的語法。從概念上看,其區別是值型別直 接儲存其值,而引用型別儲存對值的引用。這兩種型別儲存在記憶體的不同地方 值型別儲存在堆疊中,而引用型別儲存 在託管堆上。注意區分某個型別是值型別...