C#3.0引進新關鍵字var,它是一個類型,可以用來聲明局部變量。
Code
var I = 1; //int類型
var j = ”reallypride”; //string類型
var k = new[] { 1, 2, 3, 4 }; //int[]類型
var x; //錯誤,必須初始化
var y = null; //錯誤,不可以為空
使用var變量要點:
1.使用var聲明局部變量,編譯器會根據後面的初始化表達式自動推斷變量的類型,這個類型是強類型。
2.var變量在聲明時必須初始化,不可以為空,且編譯時可以推斷其類型。初始化後變量只能保存這種類型。
3.數組也可以作為var類型。
匿名類型
匿名類型允許定義行內類型,不須顯示聲明類型。常和var一起使用。如
Code
var p1 = new { name = ”reallypride”, age = 23 };
var p2 = new { name = “jingxuan”, age = 23 };
編譯器會自動定義一個包含name和age屬性的類。p1和p2結構相同,是同一個類的實例。我們再定義一個變量:
Code
var p3 = new { age = 23, name = “reallypride” };
編譯器會新建一個新的類,也就是p3和p1,p2不是同一個類的實例,因為p3聲明屬性的位置不相同。
{ }是匿名初始化器。
如果要定義數組,可以這樣定義:
Code
var intArray = new[] { 1, 2, 3, 4 };
var strArray = new[] { “a”, “b”, “c” };
var someTypeArray = new[] { new { name = “reallypride”, age = 23 }, new { name = “jingxuan”, age = 23 } };
匿名類型要點:
1.可以使用new關鍵字調用匿名初始化器創建一個匿名類型。
2.匿名類型直接繼承自System.Object。
3.匿名類型的屬性是編譯器根據初始化器自動推斷。
或許有人會覺得,有了var這個關鍵字後,其它的類型關鍵字都變成多余的了。
其實var是簡化了我們的編程,讓我們不用再因為定義一個變量而需要寫兩次它的類型。
如定義一個User類的實例,以前的方法我們要這樣定義:
Code
User user=new User();
而現在我們可以這樣定義:
Code
var user=new User();
我們可以把更多的時間用在軟件功能的實現上而不是敲代碼上。