C# 当中 LINQ 的常规用法(Lambda 方式) (5)

标准用法:

class Program { void OutputResult(IEnumerable<int> ienumerable) { foreach (var item in ienumerable) { Console.WriteLine($"{item}"); } } static void Main(string[] args) { var integers = new[] {3, 2, 1, 7, 10, 6, 4, 8, 9, 5}; // IEnumerable<T>.Sum(x=>x) 效果,计算整个序列元素之和。 var sumResult = integers.Aggregate((totalCount, nextItem) => totalCount + nextItem); Console.WriteLine($"序列求和结果:{sumResult}"); // IEnumerable<T>.Min(x=>x) 效果,计算整个序列当中的最小元素。 var minResult = integers.Aggregate((min, next) => min > next ? next : min); Console.WriteLine($"序列当中的最小值:{minResult}"); // IEnumerable<T>.Max(x=>x) 效果,计算整个序列当中最大的元素。 var maxResult = integers.Aggregate((max, next) => max < next ? next : max); Console.WriteLine($"序列当中的最大值:{maxResult}"); // IEnumerable<T>.Count() 效果,计算整个序列当中的元素数量。 var countResult = integers.Aggregate(0,(count, next) => ++count); Console.WriteLine($"序列当中的元素数量:{countResult}"); // IEnumerable<T>.Average(x=>) 效果,计算整个序列当中的平均数。 int enumerableCount = 0; var averageResult = integers.Aggregate(0, (total, next) => { total += next; enumerableCount++; return total; },total=>new { averageValue = total / enumerableCount }); Console.WriteLine($"序列的平均值:{averageResult.averageValue}"); } }

输出结果:

序列求和结果:55 序列当中的最小值:1 序列当中的最大值:10 序列当中的元素数量:10 序列的平均值:5

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzjdw.html