LINQ Aggregate: 概要
見落とされがちですが、LINQ の Aggregate 関数は、より良く理解されるべき強力なツールです。 。明確かつ簡潔な方法でその本質を探ってみましょう。
集計は、リストの各要素に対して順次操作を実行します。各操作では、先行する操作の結果が考慮されます。つまり、最初と 2 番目の要素の演算から開始され、結果が前方に運ばれます。
例 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
Aggregate は合計を計算します: (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 から始めて、 Aggregate は配列の各要素を乗算し、累積積を求めます: ((5 10) 20) 30 40 = 1200000.
要約すると、Aggregate は次のようになります。を使用すると、リスト内の要素に対して順次操作を実行できます。各操作は前の結果に基づいて行われます。さまざまなデータ操作の問題を解決するために活用できる汎用性の高い関数です。
以上がLINQ の集計関数はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。