Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

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

 

Calcula a soma da sequência de valores Int32 obtidos pela invocação de uma função de transformação em cada elemento da sequência de entrada.

Namespace:   System.Linq
Assembly:  System.Core (em System.Core.dll)

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

Parâmetros

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

Uma sequência de valores usados para calcular uma soma.

selector
Type: System.Func<TSource, Int32>

Uma função de transformação a ser aplicada a cada elemento.

Valor Retornado

Type: System.Int32

A soma dos valores projetados.

Parâmetros de Tipo

TSource

O tipo dos elementos de source.

Exception Condition
ArgumentNullException

source ou selector é null.

OverflowException

A soma é maior que MaxValue.

This method returns zero if source contains no elements.

You can apply this method to a sequence of arbitrary values if you provide a function, selector, that projects the members of source into a numeric type, specifically T:System.Int32.

In vbprvb query expression syntax, an Aggregate Into Sum() clause translates to an invocation of Overload:System.Linq.Enumerable.Sum.

The following code example demonstrates how to use M:System.Linq.Enumerable.Sum``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Double}) to sum the projected values of a sequence.

System_CAPS_noteObservação

Este exemplo de código usa uma sobrecarga desse método sobrecarregado que é diferente da sobrecarga específica descrita neste tópico. Para estender o exemplo a este tópico, altere o corpo da função 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
*/

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 3.5
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1
Retornar ao início
Mostrar: