C#開發:c#基本資料型別及其預設值
參考網站:https://blog.csdn.net/simonezhlx/article/details/4099904
//值型別
C# 型別 .NET Framework 型別
bool System.Boolean
4Byte 32bit布林型變數 邏輯值,true或者false,預設值為false
byte System.Byte
1Byte 8bit無符號整數無符號的位元組,所儲存的值的範圍是0~255,預設值為0
sbyte System.SByte 1Byte
8bit有符號整數帶符號的位元組,所儲存的值的範圍是-128~127,預設值為0
char System.Char
2Byte 16bit 無符號Unicode字元,預設值為’/0’
decimal System.Decimal
16Byte 128bit十進位制數不遵守四捨五入規則的十進位制數,28個有效數字,通常用於財務方面的計算,預設值為0.0m
double System.Double
8Byte 64bit雙精度的浮點型別,預設值為0.0d
float System.Single
4Byte 32bit單精度的浮點型別,預設值為0.0f
int System.Int32
4Byte 32bit有符號整數,預設值為0
uint
4Byte 32bit無符號整數,預設值為0
long System.Int64
8Byte 64bit有符號整數,預設值為0
ulong System.UInt64
8Byte 64bit無符號整數,預設值為0
object System.Object
指向類例項的引用,預設值為null
short System.Int16
2Byte 16bit有符號整數,預設值為0
ushort System.UInt16
2Byte 16bit無符號整數,預設值為0
string System.String
指向字串物件的引用,預設值為null
//引用型別
引用型別的變數又稱為物件,可儲存對實際資料的引用。本節介紹以下用於宣告引用型別的關鍵字:
· class
與 C++ 不同,C# 中僅允許單個繼承。也就是說,類只能從一個基類繼承實現。但是,一個類可以實現一個以上的介面。
一個類可包含下列成員的宣告:
建構函式解構函式常數欄位方法屬性索引器運算子事件委託類介面結構
介面只包含方法、委託或事件的簽名,它是一個完全抽象的成員集合,它不是類,與基類有著本質的區別。方法的實現是在實現介面的類中完成的
介面可以是名稱空間或類的成員,並且可以包含下列成員的簽名:方法屬性索引器事件
一個介面可從一個或多個基介面繼承。
當基型別列表包含基類和介面時,基類必須是列表中的第一項。
實現介面的類可以顯式實現該介面的成員。顯式實現的成員不能通過類例項訪問,而只能通過介面例項訪問。
委託型別宣告的格式如下:
public delegate void TestDelegate(string message);
delegate關鍵字用於宣告一個引用型別,該引用型別可用於封裝命名方法或匿名方法。委託類似於 C++ 中的函式指標;但是,委託是型別安全和可靠的。
委託是事件的基礎。
通過將委託與命名方法或匿名方法關聯,可以例項化委託。
以下為內建引用型別:
object 型別在 .NET Framework 中是 Object 的別名。在 C# 的統一型別系統中,所有型別(預定義型別、使用者定義型別、引用型別和值型別)都是直接或間接從 Object 繼承的。可以將任何型別的值賦給 object 型別的變數。將值型別的變數轉換為物件的過程稱為“裝箱”(Boxed)。將物件型別的變數轉換為值型別的過程稱為“取消裝箱”。
string 型別表示零或更多 Unicode 字元組成的序列。string 是 .NET Framework 中 String 的別名。
儘管 string 是引用型別,但定義相等運算子(== 和 !=)是為了比較 string 物件(而不是引用)的值。這使得對字串相等性的測試更為直觀。