1. 程式人生 > >變量類型和可空類型

變量類型和可空類型

設計者 net 之間 比較 自身 動態語言 種類型 能夠 才會

1、變量類型

a、靜態類型:編譯時確定且不能在不能在運行時修改。

b、動態類型:直到運行時才會被解析。

由於動態語言(如:IronPython和IronRuby)為.NET語言,所以C#程序需要能夠使用這些語言編寫的程序集。為解決這一問題,C#語言的設計者為語言增加了dynamic關鍵字。

c、dynamic關鍵字:代表一個特定的、實際的C#類型,它知道如何在運行時解析自身。也就是說,它是動態化的靜態類型。

2、可空類型

在一些情況下,我們希望表示變量目前未保存有效的值。對於引用類型,我們可以將變量設置為null。而定義值類型的變量,我們可以使用布爾指示器和變量關聯,如果值有效,則設置為true,否則就設置為false。可空類型允許創建可以標記為有效或無效的值類型,而普通的值類型稱作非可空類型。

創建:可空類型總是基於另外一個已聲明類型,這個類型稱為基層類型。你不需要在代碼中顯式聲明可空類型。相反,只需要聲明可空類型的變量即可,編譯器會自動為你隱式創建可空類型。如果要創建可空類型的變量,只需要在變量聲明中在底層類型名字後面增加一個問號。如:int? myINT = 28;

檢查可空類型是否包含值,只需要和null比較。

在非可空類型和其可空版本之間存在隱式轉換,在可空類型和其非可空版本之間存在顯示轉換。

賦值:我們可以為可空類型的變量賦3種類型的值

a.其底層類型的值

b.相同可空類型的值

c.null值

:int? myI1,myI2,myI3;

myI1 = 28;

myI2 = myI1;

myI3 = null;

Console.WriteLine("myI1:{0},myI2:{1}", myI1,myI2);

變量類型和可空類型