程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Linq之Linq to Objects,linqtoobjects

Linq之Linq to Objects,linqtoobjects

編輯:C#入門知識

Linq之Linq to Objects,linqtoobjects


目錄

寫在前面

系列文章

linq to objects

總結

寫在前面

上篇文章介紹了linq的延遲加載特性的相關內容,從這篇文章開始將陸續介紹linq to Objects,linq to xml,linq to sql等內容。

系列文章

Linq之Lambda表達式初步認識

Linq之Lambda進階

Linq之隱式類型、自動屬性、初始化器、匿名類

Linq之擴展方法

Linq之Expression初見

Linq之Expression進階

Linq之Expression高級篇(常用表達式類型)

Linq之常見關鍵字

Linq之延遲加載特性

linq to objects

術語“LINQ to Objects”是指直接對任意 IEnumerable 或 IEnumerable<T> 集合使用 LINQ 查詢,無需使用中間 LINQ 提供程序或 API,例如 LINQ to SQL [LINQ to SQL] 或 LINQ to XML。 可以使用 LINQ 來查詢任何可枚舉的集合,例如 List<T>、Array 或 Dictionary<TKey, TValue>。 該集合可以是用戶定義的集合,也可以是由 .NET Framework API 返回的集合。

從根本上說,“LINQ to Objects”表示一種新的處理集合的方法。 采用舊方法,你必須編寫指定如何從集合檢索數據的復雜的 foreach 循環。 而采用 LINQ 方法,你只需編寫描述要檢索的內容的聲明性代碼。

另外,與傳統的 foreach 循環相比,LINQ 查詢具有三大優勢:

1.它們更簡明、更易讀,尤其在篩選多個條件時。

2.它們使用最少的應用程序代碼提供強大的篩選、排序和分組功能。

3.無需修改或只需做很小的修改即可將它們移植到其他數據源。

                                         -----MSDN

在前面文章中,使用linq查詢ArrayList。

另外,linq在字符串,反射,文件目錄操作中作為查詢也是非常方便的。下面看一個例子,查詢某個目錄下所有擴展名為“.rar”的文件。

 1 using System.IO;
 2 using System.Linq;
 3 namespace Wolfy.Linq2ObjectsDemo
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             var fileNames = from n in GetFileNames(@"F:\", ".rar")
10                             select Path.GetFileName(n);
11             foreach (var item in fileNames)
12             {
13                 Console.WriteLine(item);
14             }
15             Console.Read();
16         }
17         /// <summary>
18         /// 獲得文件名路徑
19         /// </summary>
20         /// <param name="strPath"></param>
21         /// <param name="strExtention"></param>
22         static IEnumerable<string> GetFileNames(string strPath, string strExtention)
23         {
24             DirectoryInfo dir = new DirectoryInfo(strPath);
25             IEnumerable<System.IO.FileInfo> files = dir.GetFiles("*.*", SearchOption.AllDirectories);
26             //linq查詢
27             var result = from file in files
28                          where file.Extension == strExtention
29                          select file.FullName;
30             return result;
31         }
32     }
33 }

輸出

總結

linq to objects內容比較簡單,也許你在項目中一直在用,就不再多說了。如果想了解更多,可以查看下面的參考中的內容。

參考

https://msdn.microsoft.com/zh-cn/library/cc981895.aspx

https://msdn.microsoft.com/zh-cn/library/bb546159.aspx

https://msdn.microsoft.com/zh-cn/library/bb397937.aspx

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved