LINQ查询
1 2 3 4 5 6
|
var results = from n in names where n.StartsWith("S") orderby n descending select n ;
|
方法语法
1 2
|
var results = names.OrderBy(n => n).Where(n => n.StartsWith("S")); var results = names.OrderByDescending(n => n.Substring(n.Length - 1)).Where(n => n.StartsWith("S")).select(n => new(n, ...)).Distinct();
|
聚合运算符
1 2 3 4 5
|
results.Count(); results.Max(); results.Min(); results.Average(); results.Sum(n => (long) n);
|
Any, All
1 2
|
bool res = customers.Any(c => c.Name == "Tom"); bool res = customers.All(c => c.Name == "Tom");
|
多级排序
1 2 3
|
orderby c.Name, c.Age
var res = customers.OrderBy(c => c.Name).ThenBy(c => c.Age)...;
|
组合查询
1 2 3 4 5
|
var res = from c in customers group c by c.Region into cg select new {TotalSales = cg.Sum(c => c.Sales), Region = cg.Key} ;
|
Take()
: 取前n个结果
Skip()
: 跳过前n个结果
First()
, FirstOrDefault()
: 返回第一个匹配给定条件的元素
集合运算符Intersect()
, Except()
, Union()
Join查询
1 2 3 4
|
var res = from c in customers join o in orders on c.ID equals o.ID ;
|
近期评论