Sum(TSource) Método (IEnumerable(TSource), Func(TSource, Nullable(Int64)))
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Enumerable.Sum<TSource> (Método) (IEnumerable<TSource>, Func<TSource, Nullable<Int64>>)

 

Calcula la suma de la secuencia de valores Int64 que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada.

Espacio de nombres:   System.Linq
Ensamblado:  System.Core (en System.Core.dll)

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

Parámetros

source

Secuencia de valores que se usan para calcular una suma.

selector

Función de transformación que se va a aplicar a cada elemento.

Valor devuelto

Type: System.Nullable<Int64>

La suma de los valores proyectados.

Parámetros de tipo

TSource

Tipo de los elementos de source.

Exception Condition
ArgumentNullException

source o selector es null.

OverflowException

La suma es mayor que MaxValue.

Este método devuelve cero si source no contiene elementos.

El resultado no incluye valores null.

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que proyecte los miembros de source en un tipo numérico, en concreto, en un tipo Nullable<Int64> en C# o en un tipo Nullable(Of Int64) en Visual Basic.

En la sintaxis de las expresiones de consulta de Visual Basic, una cláusula Aggregate Into Sum() se convierte en una invocación de Sum.

En el ejemplo de código siguiente se muestra cómo se utiliza el método Sum<TSource>(IEnumerable<TSource>, Func<TSource, Double>) para sumar los valores proyectados de una secuencia.

System_CAPS_noteNota

En este ejemplo de código se usa una sobrecarga de este método sobrecargado diferente de la carga específica que se describe en este tema. Para ampliar el ejemplo a este tema, cambie el cuerpo de la función 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
*/

Universal Windows Platform
Disponible desde 4.5
.NET Framework
Disponible desde 3.5
Portable Class Library
Compatible con: portable .NET platforms
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar:
© 2016 Microsoft