园子里面看到关于LINQ的文章比较少,所以想做一个系列,大家一起学习下如何使用LINQ to Objects。
这里博主正在阅读的是Troy Magennis写的《LINQ to Objects Using C#4.0》
本系列文章,提供该书内容的精简。
第一章 LINQ 介绍
什么是LINQ?
Language Integrated query(直译为语言集成查询) 读作 link(零克,是不是很轻的感觉呢^^)
LINQ是微软新推出的增强功能,用来处理一些数据。LINQ在.NET语言和各种数据源之间提供了一层编码抽象。
推出LINQ,其中一个目的是减少代码的复杂度和增强代码的阅读性。LINQ是开放的、可扩展的。
从.NET3.5开始支持LINQ,并在.NET4中进一步扩展。
涵盖的点
- LINQ to Objects
- LINQ to XML
- LINQ to Entities(part of the Entity Framework)
- LINQ to SQL
- PLINQ
- LINQ to Datasets
标准查询操作表(.net4)
操作类型 | 标准查询操作名 |
Aggregation | Aggregate, Average, Count, LongCount, Max, Min, Sum |
Conversion | AsEnumerable, Cast, OfType, ToArray, ToDictionary, ToList, ToLookup |
Element | DefaultIfEmpty, ElementAt, ElementAtOrDefault, First, |
Equality | SequenceEqual |
Generation | Empty, Range, Repeat |
Grouping | GroupBy, ToLookup |
Joining | GroupJoin, Join |
Merging | Zip |
Ordering | OrderBy, ThenBy, OrderByDescending, ThenByDescending, Reverse |
Projection | Select, SelectMany |
Partitioning | Skip, SkipWhile, Take, TakeWhile |
Quantifiers | All, Any, Contains |
Restriction | Distinct, Where |
Set | Concat, Except, Intersect, Union |