[.NET クラスライブラリ Tips][LINQ] シーケンス内の要素を畳み込んで単一の値を生成する(Aggregateメソッド)

スポンサーリンク

本記事の概要

この記事では、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:

コメント

タイトルとURLをコピーしました