LINQ

[C#] LINQラムダ式で合計値を求める(.Sum)

2021年5月10日

LINQラムダ式で合計値を求めるには、.Sum()を使用します。

サンプル

例1)List<int>の要素の合計値を求める


using System.Collections.Generic;
using System.Linq;

//int型のList
List list = new List;
list.Add(1);
list.Add(2);
list.Add(3);
list.Add(4);
list.Add(5);

//要素の合計値を求める
int result = list.Sum();

結果

15

例2)List<Pref>の要素のPopulationの合計値を求める


using System.Collections.Generic;
using System.Linq;

//Prefクラス
class Pref{
  public int No {get; set;}
  public string Name {get; set;}
  public int Population {get; set;}
}

//PrefクラスのList
var list = new List();
list.Add(new Pref{No=1, Name="北海道", Population=5381733});
list.Add(new Pref{No=2, Name="青森県", Population=1308265});
list.Add(new Pref{No=3, Name="岩手県", Population=1279594});
list.Add(new Pref{No=4, Name="宮城県", Population=2333899});
list.Add(new Pref{No=5, Name="秋田県", Population=1023119});

//Pref.Populationの合計値を求める
int result = list.Select(x => x.Population).Sum();

結果

11326610

備考

  • LINQを使用するには、「using System.Linq;」の宣言が必要です。
  • リストの要素が存在しない場合でもエラーにはなりません。
  • .Sumの戻り値型は、Sumする対象数値の型と同じ型です。

-LINQ