Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

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

 

Calcula la suma de la secuencia de Int64 valores que se obtienen mediante la invocación de 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 long Sum<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, long> selector
)

Parámetros

source
Type: System.Collections.Generic.IEnumerable<TSource>

Una secuencia de valores que se utilizan para calcular una suma.

selector
Type: System.Func<TSource, Int64>

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

Valor devuelto

Type: System.Int64

La suma de los valores proyectados.

Parámetros de tipo

TSource

Tipo de los elementos de source.

Exception Condition
ArgumentNullException

El valor de source o selector es null.

OverflowException

La suma es mayor que MaxValue.

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

Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector, que los miembros de los proyectos source en un tipo numérico, específicamente Int64.

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

En el ejemplo de código siguiente se muestra cómo utilizar 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 8
.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: