本書翻譯目的為個人學習和知識共用,其著作權屬原作者所有,如有侵權,請告知本人,本人將立即對發帖採取處理。
允許轉載,但轉載時請註明本著作權聲明資訊,禁止用於商業用途!
部落格園:韓現龍
Introducing to Microsoft LINQ目錄
本節內容比較少。瀏覽一下即可了。
C#3.0中有一些在VB9中沒有的屬性,即yield關鍵字和匿名方法(anonymous methods)。即便在許多情況下,用這些特性在使用LINQ來寫代碼時都是非常常見的,這兩個特性對於支援LINQ都不是必須的。
yield關鍵字(The yield Keyword)
Visual Basic9.0中沒有和C#2.0中的yield關鍵字相匹配的特性。在VB9中你可以通過用使用迭代器模式來實現迭代器。記住,yield關鍵字不需要CLR的支援。它由產生迭代器的編譯器提供支援。
更多資訊 關於closures的更多資訊,請參見前幾章中的"Closures"章節。
匿名方法(Anonymous Methods)
在VB9中,匿名方法並不是獨立存在的特性,但是有時lambda運算式可以作為它的一個替代品。lambda運算式的closures是通過這種方式產生,它和C#編輯器的匿名方法相類似。然而,在任何情況下lambda運算式都是不能取代匿名方法的。
本章小結
在本章中,我們分四節講述了VB9.0中的一些重要的特性。第一個是在C#2.0中已經提供的可空類型。第二節講的是和C#3.0中相匹配的特性:區域型別推斷(local type inference),擴充方法(extension methods),對象初始設定式(object initializeation expressions),匿名方法(anonymous types),查詢運算式(query expressions),lambda運算式(lambda expressions)和closures.第三部分講述了僅在VB9中才有的特性:XML文本,XML延遲綁定和寬鬆代理。最後,我們在最後一部分中講述了僅在C#3.0中存在而在VB9中不存在的特性:yield關鍵字和匿名方法。下一章中我們將學習LINQ文法的基礎。