LINQ 聚合函數對元素序列執行操作,同時考慮先前操作的結果。本質上,它迭代地處理序列中的每個元素,累積操作的結果。
要理解聚合,請考慮以下定義和範例:
var nums = new[] { 1, 2, 3, 4 }; var sum = nums.Aggregate((a, b) => a + b); Console.WriteLine(sum); // Output: 10 (1 + 2 + 3 + 4)
var chars = new[] { "a", "b", "c", "d" }; var csv = chars.Aggregate((a, b) => a + "," + b); Console.WriteLine(csv); // Output: a,b,c,d
var multipliers = new[] { 10, 20, 30, 40 }; var multiplied = multipliers.Aggregate(5, (a, b) => a * b); Console.WriteLine(multiplied); // Output: 1200000 ((((5 * 10) * 20) * 30) * 40)
範例1:求和Numbers
var nums = new[] { 1, 2, 3, 4 }; var sum = nums.Aggregate((a, b) => a + b);
說明:
此過程將繼續,直到所有元素都已處理完畢,累加總和 ( 6 4 = 10).
var chars = new[] { "a", "b", "c", "d" }; var csv = chars.Aggregate((a, b) => a + "," + b);範例 2:從下列位置建立CSV字串
最終結果是一個字串,所有元素均以逗號分隔(「a,b,c,d」)。
var multipliers = new[] { 10, 20, 30, 40 }; var multiplied = multipliers.Aggregate(5, (a, b) => a * b);示例3:將數字與種子相乘
以上是LINQ 的聚合函數如何進行求和、串連和乘法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!