LINQ to Objects
"LINQ to Objects" 一詞指的是直接將 LINQ 查詢與任何 IEnumerable 或 IEnumerable<T> 集合搭配使用,而不透過中繼 LINQ 提供者或 API (如 LINQ to SQL 或 LINQ to XML)。您可以使用 LINQ 查詢任何可列舉的集合,例如 List<T>、Array 或 Dictionary<TKey, TValue>。集合可以是使用者定義的集合,也可以是 .NET Framework API 傳回的集合。
基本上,LINQ to Objects 代表了使用集合的新方式。在舊方式中,您必須撰寫複雜的 foreach 迴圈 (Loop) 來指定如何從集合中擷取資料。在 LINQ 方式中,只要撰寫宣告式程式碼來描述想要擷取的資料就可以了。
此外,LINQ 查詢與 foreach 迴圈相比,主要有三項優點:
更簡潔易懂,尤其是在篩選多個條件時。
只需最基本的應用程式程式碼,就可以提供強大的篩選、排序和分組功能。
幾乎不需要做什麼修改,就可以移植用於其他資料來源。
一般而言,要對資料執行的作業愈複雜,就愈能發現使用 LINQ 而非傳統反覆運算技術的好處。
本節的目的是要透過精選範例來示範 LINQ 的撰寫方式,所以並不會進行全面性的內容介紹。
本章節內容
HOW TO:使用 LINQ 查詢 ArrayList
示範如何在 Visual Basic 和 C# 中查詢 ArrayList。LINQ 和字串
說明如何使用 LINQ 查詢和轉換字串和字串集合。同時也包含示範這些準則的主題連結。LINQ 和檔案目錄
說明如何使用 LINQ 與檔案系統互動。同時也包含示範這些概念的主題連結。LINQ 和反映
示範 LINQ 如何使用反映 (Reflection) 的範例連結。LINQ (Language-Integrated Query)
提供相關主題連結,以說明 LINQ 並提供執行查詢的程式碼範例。HOW TO:新增 LINQ 查詢的自訂方法
說明如何透過將擴充方法加入至 IEnumerable<T> 介面的方式,擴充可用於 LINQ 查詢的一組方法。