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。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |