先上段**:
vardata = new ;
console
.writeline("username: age:", data.username, data.age);
自己原來以為匿名型別指的就是data 其實大錯特錯
這裡的匿名型別指的是 username 和 age
一般我們會先定義 string username="zhuye" 和 int age=26
此處利用3.0特性 直接 進行構造出
var data=new
就如 data 是乙個類 username 和age 是該類的2個屬性一樣可以訪問了。
但是有個前提 匿名型別只適用於當前方法內。
其好處不言而喻:即
它為我們提供了一種方便的方法,可用來將一組唯讀屬性封裝到單個物件中,而無需首先顯式定義乙個型別,這樣使**更加簡潔
匿名型別與匿名物件
var匿名型別 推斷型別 var可代替任何型別,編譯器會根據上下文來判斷你到底是想用什麼型別,類似 object,但是效率比object高點。我們可以賦予區域性變數推斷 型別 var而不是顯式型別。var 關鍵字指示編譯器根據初始化語句右側的表示式推斷變數的型別。推斷型別可以是內建型別 匿名型別 使...
C 匿名型別
c 3.0引入了對匿名型別的支援。它們是由編譯器動態生成的資料型別,而不是通過顯示地類定義來宣告的。下面通過乙個例子介紹匿名型別的使用 示例 將匿名型別的例項賦給隱式型別的區域性變數 執行結果 注意 除非使用lambda表示式和查詢表示式關聯來自不同型別的資料,或者對資料進行水平投射 以減少乙個特定...
c 匿名型別
匿名型別 允許我們建立無名類型別的特性。匿名型別 anonymous type 經常用於linq查詢的結果中。第6章介紹了物件初始化語句,它允許我們在使用物件建立表示式時初始化新類例項的字段和屬性。提醒一下,這種形式的物件建立表示式由三部分組成 new關鍵字 類名或建構函式以及物件初始化語句。物件初...