資源描述:
《匿名類型(var)、初始化器、擴展方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、鄧有權(quán)學(xué)習(xí)筆記:其他2011-9-1一.自動屬性publicclassStudent{publicintId{get;set;}publicstringName{get;set;}publicintAge{get;set;}}自動屬性可以避免原來這樣我們手工聲明一個私有成員變量以及編寫get/set邏輯,快速寫一個類。通過反編譯可以看出:生成IL的時候,會自動生成私有字段存儲相應(yīng)數(shù)據(jù)。二.匿名類型var為關(guān)鍵字,可以根據(jù)后面的初始化語句自動推斷類型,這個類型為強類型。一旦初始化之后,編譯器給其自動生成一個”名字很奇怪”的類,以后只
2、可以存儲這種類型。var聲明的僅限于局部變量,不可用于字段。亦可以用于for,foreach,using等語句中。數(shù)組也可以作為隱含類型。初始化語句不能是一個自身的對象或者集合初始化器,但是他可以是包含一個對象或者初始化器的一個new表達式。如果局部變量聲明包含了多個聲明符,其類型必須相同。匿名類型var不能設(shè)置值,只能讀取。初始化語句必須為表達式,不可以為空。且必須保證編譯時可以推斷類型。varx;//錯誤vary=null;//錯誤varz={1,2,3};//錯誤可以使用new關(guān)鍵字調(diào)用匿名初始化器創(chuàng)建一個匿名類型的對象。v
3、arp1=new{Id=1,Name="YJingLee",Age=22};//屬性也不需要申明varintArray=new[]{2,3,5,6};匿名類型直接繼承自System.Object。三.對象與集合初始化器對象初始化器Studentstu=newStudent(){Id=1,Name="YJingLee",Age=22};更方便給對象賦值,提高編程速度。集合初始化器Listnum=newList(){0,1,2,6,7,8,9};Liststus=newList第
4、1頁共1頁Createbydonny鄧有權(quán){newStudent{Id=1,Name="YJingLee",Age=22},newStudent{Id=2,Name="XieQing",Age=25},};四.?dāng)U展方法-Linq中用的很多更多參考http://www.cnblogs.com/ldp615/archive/2009/08/07/1541404.html擴展方法的方法名前有向下的箭頭。擴展方法使用可以調(diào)用啦擴展方法練習(xí):第2頁共2頁Createbydonny鄧有權(quán)第3頁共3頁Createbydonny