LINQ to Objects

"LINQ to Objects" 一詞指的是直接將 LINQ 查詢與任何 IEnumerableIEnumerable<T> 集合搭配使用,而不透過中繼 LINQ 提供者或 API (如 LINQ to SQLLINQ to XML)。 您可以使用 LINQ 查詢任何可列舉的集合,例如 List<T>ArrayDictionary<TKey, TValue>。 集合可以是使用者定義的集合,也可以是 .NET Framework API 傳回的集合。

基本上,LINQ to Objects 代表了使用集合的新方式。 在舊方式中,您必須撰寫複雜的 foreach 迴圈 (Loop) 來指定如何從集合中擷取資料。 在 LINQ 方式中,只要撰寫宣告式程式碼來描述想要擷取的資料就可以了。

此外,LINQ 查詢與 foreach 迴圈相比,主要有三項優點:

  1. 更簡潔易懂,尤其是在篩選多個條件時。

  2. 只需最基本的應用程式程式碼,就可以提供強大的篩選、排序和分組功能。

  3. 幾乎不需要做什麼修改,就可以移植用於其他資料來源。

一般而言,要對資料執行的作業愈複雜,就愈能發現使用 LINQ 而非傳統反覆運算技術的好處。

本節的目的是要透過精選範例來示範 LINQ 的撰寫方式, 所以並不會進行全面性的內容介紹。

本章節內容