エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Enumerable.Sum<TSource> メソッド (IEnumerable<TSource>, Func<TSource, Decimal>)

2013/12/12

入力シーケンスの各要素に対して変換関数を呼び出して取得する Decimal 値のシーケンスの合計を計算します。

Namespace:  System.Linq
アセンブリ:  System.Core (System.Core.dll 内)

public static decimal Sum<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, decimal> selector
)

型パラメーター

TSource

source の要素の型。

パラメーター

source
型: System.Collections.Generic.IEnumerable<TSource>
合計の計算に使用する値のシーケンス。
selector
型: System.Func<TSource, Decimal>
各要素に適用する変換関数。

戻り値

型: System.Decimal
投影された値の合計。

使用上の注意

Visual Basic および C# では、このメソッドを、IEnumerable<TSource> 型の任意のオブジェクトのインスタンス メソッドとして呼び出すことができます。インスタンス メソッド構文を使用してこのメソッドを呼び出す場合は、最初のパラメーターを省略します。

例外条件
ArgumentNullException

source または selectornull です。

OverflowException

合計が MaxValue を超えています。

source に要素が含まれていない場合、このメソッドは 0 を返します。

source のメンバーを数値型 (具体的には Decimal) に投影する selector 関数を指定すると、このメソッドを任意の値のシーケンスに適用できます。

Visual Basic のクエリ式の構文では、Aggregate Into Sum() 句が Enumerable.Sum の呼び出しに変換されます。

次に、Sum<TSource>(IEnumerable<TSource>, Func<TSource, Double>) を使用して、シーケンスの投影された値を合計するコード例を示します。

メモメモ:

このコード例で使用するオーバーロードされたメソッドのオーバーロードは、このトピックで説明する特定のオーバーロードとは異なります。コード例をこのトピックに適用するには、selector 関数の本体を変更します。


      class Package
      {
         public string Company { get; set; }
         public double Weight { get; set; }
      }

      public static void SumEx1()
      {
         List<Package> packages =
             new List<Package> 
                     { new Package { Company = "Coho Vineyard", Weight = 25.2 },
                       new Package { Company = "Lucerne Publishing", Weight = 18.7 },
                       new Package { Company = "Wingtip Toys", Weight = 6.0 },
                       new Package { Company = "Adventure Works", Weight = 33.8 } };

         double totalWeight = packages.Sum(pkg => pkg.Weight);

         outputBlock.Text += String.Format("The total weight of the packages is: {0}", totalWeight) + "\n";
      }

      /*
       This code produces the following output:

       The total weight of the packages is: 83.7
      */



Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2014 Microsoft