【C#】Dictionary で値 ( Value ) の全要素の合計値を計算する方法

【C#】Dictionary で値の合計値を計算する方法

C# における Dictionary とは、Key と Value の値をセットで扱う連想配列です

本記事では、C# の Dictionary で追加した全ての値(Value)に関して、その合計値を計算する方法を紹介します。

Dictionary の初期化方法などに関しては、以下の記事で紹介しています。

【C#】配列、List、Dictionaryの初期化方法まとめ【C#】配列, List, Dictionary の初期化方法まとめ

Dictionary の値の合計値を計算する方法

以下に Dictionary の値の合計値を計算するサンプルコードを紹介します。

using System;
using System.Linq;
using System.Collections.Generic;
 
public class Sample
{
    public static void Main()
    {
        var sampleDic = new Dictionary<string, int>();
 
        sampleDic.Add("英語", 5);
        sampleDic.Add("数学", 4);
        sampleDic.Add("国語", 3);
        sampleDic.Add("理科", 2);
        sampleDic.Add("社会", 1);
 
        var totalNum = sampleDic.Sum(x => x.Value);
        Console.WriteLine(totalNum);
        
        // 出力 -> 15
    }
}

Dictionary を使う際は、名前空間に System.Collections.Genericの宣言が必要です。

using System.Collections.Generic;

値の合計値の計算には LINQ の Sum() を使用しています。
Sum()数値のシーケンスの合計を計算してくれます

コード内では Value を指定して値の合計値を取得しています。

var totalNum = sampleDic.Sum(x => x.Value);
Console.WriteLine(totalNum);

LINQ の各メソッドに関してはこちらの記事で紹介しています。

Linqメソッド簡易解説&使い方まとめ【C#】 LINQ の各メソッドの紹介と使い方まとめ(Select, Where など)

関連記事

Dictionary の要素を foreach で順番に取得する方法【C#】Dictionary の要素を foreach で順番に取得する方法