2 匿名型別

2021-05-24 02:28:14 字數 447 閱讀 9872

先上段**:

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關鍵字 類名或建構函式以及物件初始化語句。物件初...