程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#3.0新特性――隱含類型局部變量和匿名類型

C#3.0新特性――隱含類型局部變量和匿名類型

編輯:關於C語言

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();

我們可以把更多的時間用在軟件功能的實現上而不是敲代碼上。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved