【C#入門】Aggregateの使い方を解説【LINQ】


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の使い方は理解できましたか?

まとめ

  • Aggregate = 配列(リスト)の集計
  • 配列.Aggregate((累積値を格納する変数, 配列の各値を格納する変数) => 演算処理)

この記事では、C#のAggregateの使い方について紹介しました。

最後になりますが、ここに関してもっと詳しく教えて欲しいときなどは、遠慮なく、お問い合わせ、コメント、Twitterにてご連絡ください。

最後までお読みいただきありがとうございました。

Tech Academy

  • 受講者数No.1のプログラミングスクール
  • 通過率10%の選考に合格した優秀な講師
  • カリキュラムを閲覧制限なし
  • コースの種類が豊富
  • オンラインで完結
  • 無料体験あり
  • 無料カウンセリングあり
  • 学割あり

\ 公式サイトはこちら /

Tech Academy 公式サイト