本記事の概要
この記事では、LINQを使用して、シーケンス内の要素を畳み込んで単一の値を生成する方法について説明します。
公式サイト情報はコチラを参照してください。
シーケンス内の要素を畳み込んで単一の値を生成するには?
LINQのAggregateメソッドは、シーケンス内の要素を畳み込んで単一の値を生成することができます。Aggregateメソッドは、各要素に適用する関数を指定することにより、畳み込み演算をカスタマイズすることができます。以下は、Aggregateメソッドの使用例です。
シーケンス内の数値の総和を求める
int[] numbers = { 1, 2, 3, 4, 5 };
int sum = numbers.Aggregate((x, y) => x + y);
Console.WriteLine(sum); // 出力結果:15
シーケンス内の数値の積を求める
int[] numbers = { 1, 2, 3, 4, 5 };
int product = numbers.Aggregate((x, y) => x * y);
Console.WriteLine(product); // 出力結果:120
文字列の連結を行う
string[] words = { "hello", "world", "how", "are", "you" };
string sentence = words.Aggregate((x, y) => x + " " + y);
Console.WriteLine(sentence); // 出力結果:hello world how are you
シーケンス内の最大値を求める
int[] numbers = { 1, 2, 3, 4, 5 };
int max = numbers.Aggregate((x, y) => x > y ? x : y);
Console.WriteLine(max); // 出力結果:5
シーケンス内の最小値を求める
int[] numbers = { 1, 2, 3, 4, 5 };
int min = numbers.Aggregate((x, y) => x < y ? x : y);
Console.WriteLine(min); // 出力結果:1
.NET クラス Tips 一覧
これまでに紹介した .NET Tips 一覧はこちら。
Please follow and like us:

コメント