寫在前面
系列文章
linq to objects
總結(jié)
上篇文章介紹了linq的延遲加載特性的相關(guān)內(nèi)容,從這篇文章開始將陸續(xù)介紹linq to Objects,linq to xml,linq to sql等內(nèi)容。
Linq之Lambda表達(dá)式初步認(rèn)識(shí)
Linq之Lambda進(jìn)階
Linq之隱式類型、自動(dòng)屬性、初始化器、匿名類
Linq之?dāng)U展方法
Linq之ExPRession初見
Linq之Expression進(jìn)階
Linq之Expression高級(jí)篇(常用表達(dá)式類型)
Linq之常見關(guān)鍵字
Linq之延遲加載特性
術(shù)語“LINQ to Objects”是指直接對(duì)任意 IEnumerable 或 IEnumerable<T> 集合使用 LINQ 查詢,無需使用中間 LINQ 提供程序或 API,例如 LINQ to SQL [LINQ to SQL] 或 LINQ to XML。 可以使用 LINQ 來查詢?nèi)魏慰擅杜e的集合,例如 List<T>、Array 或 Dictionary<TKey, TValue>。 該集合可以是用戶定義的集合,也可以是由 .NET Framework API 返回的集合。
從根本上說,“LINQ to Objects”表示一種新的處理集合的方法。 采用舊方法,你必須編寫指定如何從集合檢索數(shù)據(jù)的復(fù)雜的 foreach 循環(huán)。 而采用 LINQ 方法,你只需編寫描述要檢索的內(nèi)容的聲明性代碼。
另外,與傳統(tǒng)的 foreach 循環(huán)相比,LINQ 查詢具有三大優(yōu)勢:
1.它們更簡明、更易讀,尤其在篩選多個(gè)條件時(shí)。
2.它們使用最少的應(yīng)用程序代碼提供強(qiáng)大的篩選、排序和分組功能。
3.無需修改或只需做很小的修改即可將它們移植到其他數(shù)據(jù)源。
-----MSDN
在前面文章中,使用linq查詢ArrayList。
另外,linq在字符串,反射,文件目錄操作中作為查詢也是非常方便的。下面看一個(gè)例子,查詢某個(gè)目錄下所有擴(kuò)展名為“.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 files28 where file.Extension == strExtention29 select file.FullName;30 return result;31 }32 }33 }輸出

linq to objects內(nèi)容比較簡單,也許你在項(xiàng)目中一直在用,就不再多說了。如果想了解更多,可以查看下面的參考中的內(nèi)容。
參考
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
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注