LINQ 查询操作-聚合

作者:vkvi 来源:千一网络(原创) 日期:2009-10-6

我们一般说的 LINQ 是指 LINQ 表达式,详见 LINQ 步步学,但除了表达式以外,LINQ 查询操作更方便,凡是实现了接口 IEnumerable<T> 或 IQueryable<T> 的,都可以用 LINQ 查询操作。

方法一览

int[] arr = { 1, 2, 3, 7, 8, 9, 6, 5, 4 };
Response.Write(arr.Count() + "<br>"); // 元素数量,这里为 9
Response.Write(arr.Sum() + "<br>"); // 元素总和,这里为 45
Response.Write(arr.Max() + "<br>"); // 元素最大值,这里为 9
Response.Write(arr.Min() + "<br>"); // 元素最小值,这里为 1
Response.Write(arr.Average() + "<br>"); // 元素平均值,这里为 5
Response.Write(arr.LongCount() + "<br>"); // 元素数量(以 System.Int64 返回),这里为 9
Response.Write(arr.Aggregate((s, m) =>((s < 3) ? 0 : s) + ((m % 3 == 0) ? m : 0)) + "<br>"); // 自定义聚合计算,这里为 18

Aggregate

Aggregate 是自定义聚合计算,功能强大。

上面的 Lambda 表达式 (s, m) =>((s < 3) ? 0 : s) + ((m % 3 == 0) ? m : 0)。

表示对每个元素执行这个函数:执行第一个元素时,把第一个元素的值传给 s 和 m;执行后面的元素时,把上一个元素执行时的结果传给 s,把当前元素值传给 m。

你前面那位网友看了:在ASP中使用含"%>"的字符串

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
标题:必填
内容:
本站永远终止与捏造“罪名”不支付广告费的某度联盟合作。
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他