聚合操作
聚合操作從一組值中計算單個值。
骨料
對集合的值執行自定義聚合操作。
方法語法
// Aggregate
var numbers = new int[] { 1, 2, 3, 4, 5 };
var product = numbers.Aggregate(1, (acc, n) => acc * n);
// product = 120
查詢語法
// Not applicable.
平均
計算值集合的平均值。
方法語法
// Average
var numbers = new int[] { 1, 2, 3, 4, 5 };
var average = numbers.Average();
// average = 3
查詢語法
// Not applicable.
計數
計算集合中的元素,可選地僅計算滿足謂詞函式的元素。
方法語法
// Count
var numbers = new int[] { 1, 2, 3, 4, 5 };
int count = numbers.Count(n => n % 2 == 0);
// count = 2
查詢語法
// Not applicable.
LongCount
計算大集合中的元素,可選地僅計算滿足謂詞函式的元素。
方法語法
// LongCount
var numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
long count = numbers.LongCount();
// count = 10
查詢語法
// Not applicable.
最大值
確定集合中的最大值。如果集合為空,則丟擲異常。
方法語法
// Max
var numbers = new int[] { 1, 2, 3, 4, 5 };
var max = numbers.Max();
// max = 5
查詢語法
// Not applicable.
敏
確定集合中的最小值。如果集合為空,則丟擲異常。
方法語法
// Min
var numbers = new int[] { 1, 2, 3, 4, 5 };
var min = numbers.Min();
// min = 1
查詢語法
// Not applicable.
MIN- / MaxOrDefault
與其他 LinQ 擴充套件不同,
Min()
和Max()
沒有例外的過載。因此,在呼叫Min()
或Max()
之前必須檢查IEnumerable
的Any()
// Max
var numbers = new int[] { };
var max = numbers.Any() ? numbers.Max() : 0;
// max = 0
和
計算集合中值的總和。
方法語法
// Sum
var numbers = new int[] { 1, 2, 3, 4, 5 };
var sum = numbers.Sum();
// sum = 15
查詢語法
// Not applicable.