c 引用型別與值型別

2021-08-08 07:16:32 字數 676 閱讀 9143

//c#的值型別包括:結構體(數值型別,bool型,使用者定義的結構體),列舉,可空型別。

//c#的引用型別包括:陣列,使用者定義的類、介面、委託,object,字串。

/*在c#中函式傳值的特點

* 1.對於複雜的資料型別,按引用傳遞的效率更高,因為在按值傳遞時,必須複製大量的資料

* 2.除非特別指定,所有的引用型別都通過引用傳遞,所有的值型別都通過值來傳遞。

* 3.引用型別作為引數時,複製的是這個引用,所以對這個引用的底層物件的修改會被儲存。

* 相反,值型別傳遞是僅傳遞資料本身的副本。

例子:namespace myclasstest

static void main(string args)

;console.writeline("i = " + i);

console.writeline("int[0] = " + ints[0]);

somefun(ints, i);

console.writeline("i = " + i);

console.writeline("int[0] = " + ints[0]);

console.readkey();}}

}輸出結果:

i = 0

ints[0] = 0

i = 0

ints[0] = 100

C 值型別與引用型別

1.主要內容 型別的基本概念 值型別深入 引用型別深入 值型別與引用型別的比較及應用 2.基本概念 c 中,變數是值還是引用僅取決於其資料型別。c 的基本資料型別都以平台無關的方式來定義,c 的預定義型別並沒有內置於語言中,而是內置於.net framework中。net使用通用型別系統 cts 定...

C 值型別與引用型別

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

C 值型別與引用型別

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