C#-型別和變數
阿新 • • 發佈:2020-06-21
型別和變數
C# 有兩種型別:值型別和引用型別。
值型別的變數直接包含資料,而引用型別的變數則儲存對資料(稱為“物件”)的引用。對於引用型別,兩個變數可以引用同一物件;因此,對一個變數執行的運算可能會影響另一個變數引用的物件。藉助值型別,每個變數都有自己的資料副本;因此,對一個變數執行的運算不會影響另一個變數(ref
和out
引數變數除外)。C# 值型別又細分為簡單型別、列舉型別、結構型別和可以為 null 的值型別。C# 引用型別又細分為類型別、介面型別、陣列型別和委託型別。
值型別
簡單型別
- 有符號的整型:sbyte、short、int、long
- 無符號的整型:byte、ushort、uint、ulong
- Unicode 字元:char
- IEEE 二進位制浮點:float、double
- 高精度十進位制浮點數:decimal
- 布林:bool
列舉型別
格式為 enum E {...} 的使用者定義型別
結構型別
格式為 struct S {...} 的使用者定義型別
可以為 null 的值型別
值為 null 的其他所有值型別的擴充套件
元組值型別
格式為 (T1,T2,...) 的使用者定義型別
引用型別
類型別
- 其他所有型別的最終基類:object
- Unicode 字串:string
- 格式為 class C {...} 的使用者定義型別
介面型別
格式為 interface I {...} 的使用者定義型別
陣列型別
一維和多維,例如 int[] 和 int[,]
委託型別
格式為 delegate int D(...) 的使用者定義型別