Linq之Linq to Objects_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > Linq之Linq to Objects

Linq之Linq to Objects

 2015/2/5 20:39:05  wolfy  程序员俱乐部  我要评论(0)
  • 摘要:目录写在前面系列文章linqtoobjects总结写在前面上篇文章介绍了linq的延迟加载特性的相关内容,从这篇文章开始将陆续介绍linqtoObjects,linqtoxml,linqtosql等内容。系列文章Linq之Lambda表达式初步认识Linq之Lambda进阶Linq之隐式类型、自动属性、初始化器、匿名类Linq之扩展方法Linq之Expression初见Linq之Expression进阶Linq之Expression高级篇(常用表达式类型
  • 标签:

目录

写在前面

系列文章

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

上一篇: ObJC控制语句 下一篇: Josn转换
  • 相关文章
发表评论
用户名: 匿名