C#の『Aggregate』の使い方が分からない…教えてください!
C#を学んでいるけど…
「Aggregateの使い方が分からない」
このような疑問を持っていませんか?
この記事では、LINQのひとつである『Aggregate』について現役エンジニアが分かりやすく解説します。
まだ、C#の開発環境構築が出来ていない方はこちらを参考にしてください。
Aggregateの使い方
Aggregateの使い方を解説する前に、Aggregateで何が出来るのかを把握しておきましょう。
Aggregate = 配列(リスト)の集計
このような考え方で問題ありません。Aggregateを使用すると配列などのデータのまとまりから、値を集計することができます。
それでは、実際のコードを用いながらAggregateの使い方を解説していきます。
まずは、Aggregateの使い方から説明します。Aggregateを使うときには以下のように記述します。
配列.Aggregate((累積値を格納する変数, 配列の各値を格納する変数) => 演算処理)
実際のコードを用いながらAggregateの使い方を解説していきます。
Aggregateを使ってシーケンスを出力するときには以下のように記述します。
using System;
using System.Collections.Generic;
using System.Linq;
namespace sample
{
class LinqAggregate
{
static public void BlogLinqAggregate()
{
//値一覧を変数NumberListとして宣言・初期化
int[] NumberList = new int[] {
1,
2,
3,
4,
5,
6,
7,
8,
9,
10
};
//Aggregateの結果をresultAggregateに格納
int resultAggregate = NumberList.Aggregate((sum, number) => sum += number);
//resultAggregateを出力
Console.WriteLine(resultAggregate);
}
}
}
サンプルコードを実行した際の出力結果は、以下のようになります。
55
注目していただきたいのは、Aggregateを使っている26行目です。
配列.Aggregate((累積値を格納する変数, 配列の各値を格納する変数) => 演算処理)
これを基にサンプルコードを解説すると、「配列 = NumberList」、「累積値を格納する変数 = sum」、「配列の各値を格納する変数 = number」、「演算処理 = sum += number」となります。
つまり、配列(NumberList)の各値(配列の各値を格納する変数)を演算(演算処理)し、その値(累積値を格納する変数)を更新した最終結果を出力(Console.WriteLine)するということです。
このようにして、C#ではAggregateを使用することで、コードを簡潔に書くことが出来ます。
【まとめ】Aggregateは配列の要素を集計できる
Aggregateの使い方は理解できましたか?
この記事では、C#のAggregateの使い方について紹介しました。
最後になりますが、ここに関してもっと詳しく教えて欲しいときなどは、遠慮なく、お問い合わせ、コメント、Twitterにてご連絡ください。
最後までお読みいただきありがとうございました。