資訊
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Enumerable.Sum<TSource> 方法 (IEnumerable<TSource>, Func<TSource, Decimal>)

計算在輸入序列中各項目上叫用轉換函式後所取得之 Decimal 值序列的總和。

命名空間:  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> 類型物件中呼叫這個方法以做為執行個體。使用執行個體方法語法呼叫這個方法時,請省略第一個參數。如需詳細資訊,請參閱擴充方法 (Visual Basic)擴充方法 (C# 程式設計手冊)

例外狀況條件
ArgumentNullException

sourceselectornull

OverflowException

總和大於 MaxValue

如果 source 沒有包含任何項目,這個方法會傳回零。

如果您提供會將 source 成員投影成數值型別 (尤其是 Decimal) 的函式 selector,可以將這個方法套用到任意值的序列。

在 Visual Basic 查詢運算式語法中,Aggregate Into Sum() 子句會轉譯為 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);

                Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
            }

            /*
             This code produces the following output:

             The total weight of the packages is: 83.7
            */



.NET Framework

支援版本:4.5.2、4.5.1、4.5、4、3.5

.NET Framework Client Profile

支援版本:4、3.5 SP1

可攜式類別庫

支援版本:可攜式類別庫

適用於 Windows 市集應用程式的 .NET

支援版本:Windows 8

適用於 Windows Phone 應用程式的 .NET

支援版本:Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (不支援伺服器核心角色), Windows Server 2008 R2 (SP1 (含) 以後版本支援伺服器核心角色,不支援 Itanium)

.NET Framework 並不支援各種平台的所有版本。如需支援版本的清單,請參閱.NET Framework 系統需求

社群新增項目

顯示:
© 2014 Microsoft