信息
您所需的主题如下所示。但此主题未包含在此库中。
此主题尚未评级 - 评价此主题

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

计算可以为 null 的 Int64 值序列的和,这些值是通过对输入序列中的每个元素调用转换函数得来的。

命名空间:  System.Linq
程序集:  System.Core(在 System.Core.dll 中)
public static Nullable<long> Sum<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, Nullable<long>> selector
)

类型参数

TSource

source 中的元素的类型。

参数

source
类型:System.Collections.Generic.IEnumerable<TSource>
用于计算和的值序列。
selector
类型:System.Func<TSource, Nullable<Int64>>
应用于每个元素的转换函数。

返回值

类型:System.Nullable<Int64>
投影值之和。

使用说明

在 Visual Basic 和 C# 中,可以在 IEnumerable<TSource> 类型的任何对象上将此方法作为实例方法来调用。当使用实例方法语法调用此方法时,请省略第一个参数。有关更多信息,请参见扩展方法 (Visual Basic)扩展方法(C# 编程指南).
异常条件
ArgumentNullException

sourceselectornull

OverflowException

和大于 MaxValue

如果 source 中不包含任何元素,则此方法返回零。

结果中不包含为 null 的值。

如果您提供了函数 selector(用于将 ">source 中的成员投影为数值类型,即在 C# 中为 Nullable<Int64>;在 Visual Basic 中为 Nullable<Int64>),则可以将此方法应用于任意值序列。

在 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、4、3.5

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 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 系统要求.
本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈

社区附加资源

显示:
© 2014 Microsoft. 版权所有。