国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Linq之Linq to Objects

2019-11-17 02:34:49
字體:
供稿:網(wǎng)友

Linq之Linq to Objects

目錄

寫在前面

系列文章

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之延遲加載特性

linq to objects

術(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 }

輸出

總結(jié)

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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 丰都县| 郸城县| 邻水| 罗城| 拜泉县| 勃利县| 于田县| 上虞市| 大渡口区| 阿坝县| 莱芜市| 安远县| 罗源县| 沛县| 大名县| 平安县| 通辽市| 凤凰县| 尖扎县| 吴川市| 吉首市| 济阳县| 奇台县| 阿克苏市| 名山县| 汉寿县| 郓城县| 封丘县| 淮阳县| 原阳县| 威远县| 施甸县| 永泰县| 临漳县| 许昌市| 高台县| 普格县| 武义县| 北海市| 桃江县| 宝兴县|