LINQ 聚合:簡而言之
LINQ 中的聚合函數經常被忽視,它是一個強大的工具,值得更好的闡釋。讓我們以清晰簡潔的方式來探討其本質。
聚合對清單中的每個元素執行順序操作,其中每個操作都會考慮前面操作的結果。換句話說,它首先對第一個和第二個元素進行運算,然後將結果向前傳送。
範例1:對數字求和
考慮一個數字數組: [1, 2, 3, 4].
var nums = new[] { 1, 2, 3, 4 }; var sum = nums.Aggregate((a, b) => a + b); Console.WriteLine(sum); // Output: 10
聚合將計算總和:(1 2) 3 4 = 10。它將後續元素添加到運行總計中,以得出最終總和。
範例2:連接字串
接下來,讓我們建立一個來自字元陣列的逗號分隔字串:
var chars = new[] { "a", "b", "c", "d" }; var csv = chars.Aggregate((a, b) => a + ',' + b); Console.WriteLine(csv); // Output: a,b,c,d
在在這種情況下, Aggregate 將每個字元與逗號組合起來,得到連接的字串。
範例3:將數字與種子相乘
Aggregate 也提供了接受種子值的重載:
var multipliers = new[] { 10, 20, 30, 40 }; var multiplied = multipliers.Aggregate(5, (a, b) => a * b); Console.WriteLine(multiplied); // Output: 1200000
從種子值5 開始,聚合將陣列的每個元素與其相乘,得到累積乘積: ((5 10) 20) 30 40 = 1200000。
總之,Aggregate 允許您可以對清單中的元素執行順序操作,其中每個操作都基於前面的結果。它是一個多功能函數,可用於解決各種資料操作問題。
以上是LINQ 的聚合函數如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!