加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

LINQ查询操作--聚合

发布时间:2020-12-13 20:28:48 所属栏目:百科 来源:网络整理
导读:我们一般说的 LINQ 是指 LINQ 表达式,详见 LINQ 步步学 ,但除了表达式以外,LINQ 查询操作更方便,凡是实现了接口 IEnumerableT 或 IQueryableT 的,都可以用 LINQ 查询操作。 方法一览 int[] arr = { 1,2,3,7,8,9,6,5,4 }; Response.Write(arr.Count() +

我们一般说的 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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读