
コレクションのデータ合計値を取得するにはどうしたらいいですか?



LINQラムダ式のSUMを使うことで合計値を取得することができます。
目次
Sumでコレクションの合計値を取得
LINQラムダ式のSUM句を利用することでコレクションの数値合計を取得することができます。
コレクション.SUM()
List<int> lstItem = new List<int>() { 1,2,3,4,5 };
var ret = lstItem.Sum();
Debug.WriteLine(ret);
Dim lstItem As New List(Of Integer)() From {1, 2, 3, 4, 5}
Dim ret = lstItem.Sum()
Debug.WriteLine(ret)
CHECK
コレクションの中から対象フィールドを指定して合計を行いたい場合は、ラムダ式で対象フィールドを指定します。
・C#の例 コレクション.select(x => x.item).sum()
・VB.NETの例 コレクション.select(function(x) => x.item).sum()
LINQラムダ式のGroupBy区を使ってグルーピングする
LINQラムダ式のGroupByメソッドを使って、指定した条件のグルーピングを行うことができます。
グルーピング後に特定列を抽出したい場合には、Select区を利用します。
グルーピングをすることで、Sum句を使ってグループごとに合計を値を取得することができます。
コレクション.GroupBy(x=>x.グループキー).select(x=>x.特定列).tolist()
グルーピングについては、「C#/VB.NET コレクションのグルーピングを行う(ラムダ式)」で詳しく解説しています。
また、応用したグルーピングの使い方については「LINQのGroupByの使い方:グループ化する方法」でサンプルプログラムを踏まえて解説しているので合わせてご確認下さい。