标签:des style blog color io 使用 ar for 数据
语言集查询(Language Intergrated Query,LINQ)
示例:
private static void LinqQuery() { var query = from r in Formulal.GetChampions() where r.Country == "Brazil" orderby r.Wins descending select r; foreach(Racer r in query) { Console.WriteLine("{0:A}",r); } }
查询表达式必须以from子句开头,以select 或group 子句结束。在这俩个子句之间,可以使用where、orderby、join、left和其他from子句。
定义LINQ扩展方法的一个类是System.Linq名称空间中的Enumerable。
在运行期间定义查询表达式时,查询就不会运行。查询会在迭代数据项时运行。
LINQ定义的标准查询操作符
Where OfType<TResult> //筛选操作符定义了返回元素的条件。 Select 和 SelectMany //投射操作符用于把对象转换为另一个类型的新对象。 OrderBy、ThenBy、OrderByDescending、ThenByDescending、Reverse //排序操作符改变所返回的元素的顺序 Join、GroupJoin //连接运算符用于合并不直接相关的集合 GroupBy、ToLookup //组合运算符把数据放在组中。 Any、All、Contains //如果元素序列满足指定的条件,量词操作符就返回布尔值 Take、Skip、TakeWhile、SkipWhile //分区操作符返回集合的一个子集。 Distinct、Union、Intersect、Except、Zip Set //操作符返回一个集合。 First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Single、SingleOrDefault //这些元素操作符仅返回一个元素 Count、Sum、Min、Max、Average、Aggregate //聚合操作符计算集合的一个值 ToArray、ToEnumerable、ToList、ToDictionary、Cast<TResult> //这些转换操作符将集合转换为数组:IEnumerable、IList、IDictionary等 Empty、Range、Repeat //这些生成操作符返回一个新集合。
.NET 4在System.Linq名称空间上包含一个新类ParallelEnumerable,可以分解查询的工作使其分布在多个线程上。
在LINQ to Objects中,扩展方法需要将一个委托类型作为参数,这样就可以将Lambda表达式赋予参数
使用Expression<T>类型的一个例子是ADO.NET Entity Framework和LINQ to SQL
.NET 4包含几个LINQ提供程序。LINQ提供程序为特定的数据源实现了标准的查询操作符。
标签:des style blog color io 使用 ar for 数据
原文地址:http://www.cnblogs.com/bmbh/p/3974912.html