c 引用型別與值型別

2021-10-10 01:29:33 字數 518 閱讀 7460

首先宣告一下

c#中的引用型別:陣列、bai委託du、介面、object、字串、使用者定義的類。

c#中的值型別:數值型別、結構體bai、bool型、列舉、可空型別、使用者定義的結構體。

在c#中不管是引用型別的變數還是值型別的變數,都儲存在託管堆中,而引用型別會在棧中儲存乙個引用,其實際的儲存位置位於託管堆。

值型別總是分配在他宣告的地方:作為欄位時,給隨其所屬的變數(例項)儲存;作為區域性變數時,儲存在棧上,

注意:值型別在記憶體管理方面具有更好的效率,並且不支援多型,適合作為儲存資料的載體;

引用型別支援多型。

個人認為最重要的區別:

引用型別表示你要操作的資料是同乙個,也就是說當你闖入乙個引數給另乙個方法的時候,你再另乙個方法中改變這個變數的值,那麼呼叫這個方法傳入的變數的值也將改變

值型別則表示複製乙個當前的變數傳給另乙個方法

雖然很多人都知道這回事,但是今天的確因為這個事情看不懂**,特意記錄一下

C 值型別與引用型別

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

c 引用型別與值型別

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

C 值型別與引用型別

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