Enumerable.Sum Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Calcula la suma de una secuencia de valores numéricos.
Sobrecargas
Sum(IEnumerable<Single>) |
Calcula la suma de una secuencia de valores Single. |
Sum(IEnumerable<Nullable<Int32>>) |
Calcula la suma de una secuencia de valores Int32 que aceptan valores NULL. |
Sum(IEnumerable<Nullable<Single>>) |
Calcula la suma de una secuencia de valores Single que aceptan valores NULL. |
Sum(IEnumerable<Nullable<Int64>>) |
Calcula la suma de una secuencia de valores Int64 que aceptan valores NULL. |
Sum(IEnumerable<Nullable<Double>>) |
Calcula la suma de una secuencia de valores Double que aceptan valores NULL. |
Sum(IEnumerable<Int32>) |
Calcula la suma de una secuencia de valores Int32. |
Sum(IEnumerable<Int64>) |
Calcula la suma de una secuencia de valores Int64. |
Sum(IEnumerable<Double>) |
Calcula la suma de una secuencia de valores Double. |
Sum(IEnumerable<Decimal>) |
Calcula la suma de una secuencia de valores Decimal. |
Sum(IEnumerable<Nullable<Decimal>>) |
Calcula la suma de una secuencia de valores Decimal que aceptan valores NULL. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Calcula la suma de una secuencia de valores Single que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Calcula la suma de una 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. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Calcula la suma de una secuencia de valores Int32 que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Calcula la suma de una secuencia de valores Double que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Calcula la suma de una secuencia de valores Single que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Calcula la suma de una secuencia de valores Int64 que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Calcula la suma de una secuencia de valores Int32 que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Calcula la suma de una secuencia de valores Double que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Calcula la suma de una secuencia de valores Decimal que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. |
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Calcula la suma de una secuencia de valores Decimal que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada. |
Sum(IEnumerable<Single>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Single.
public:
[System::Runtime::CompilerServices::Extension]
static float Sum(System::Collections::Generic::IEnumerable<float> ^ source);
public static float Sum (this System.Collections.Generic.IEnumerable<float> source);
static member Sum : seq<single> -> single
<Extension()>
Public Function Sum (source As IEnumerable(Of Single)) As Single
Parámetros
- source
- IEnumerable<Single>
Secuencia de valores Single cuya suma se va a calcular.
Devoluciones
Suma de los valores de la secuencia.
Excepciones
source
es null
.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum(IEnumerable<Single>) para sumar los valores de una secuencia.
List<float> numbers = new List<float> { 43.68F, 1.25F, 583.7F, 6.5F };
float sum = numbers.Sum();
Console.WriteLine("The sum of the numbers is {0}.", sum);
/*
This code produces the following output:
The sum of the numbers is 635.13.
*/
' Create a list of Single values.
Dim numbers As New List(Of Single)(New Single() _
{43.68F, 1.25F, 583.7F, 6.5F})
' Get the sum of values in the list.
Dim sum As Single = numbers.Sum()
' Display the output.
Console.WriteLine($"The sum of the numbers is {sum}")
' This code produces the following output:
'
' The sum of the numbers is 635.13
Comentarios
Este método devuelve cero si source
no contiene ningún elemento.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum(IEnumerable<Nullable<Int32>>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Int32 que aceptan valores NULL.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<int> Sum(System::Collections::Generic::IEnumerable<Nullable<int>> ^ source);
public static int? Sum (this System.Collections.Generic.IEnumerable<int?> source);
static member Sum : seq<Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Sum (source As IEnumerable(Of Nullable(Of Integer))) As Nullable(Of Integer)
Parámetros
- source
- IEnumerable<Nullable<Int32>>
Secuencia de valores Int32 que aceptan valores NULL cuya suma se va a calcular.
Devoluciones
Suma de los valores de la secuencia.
Excepciones
source
es null
.
La suma es mayor que Int32.MaxValue.
Comentarios
Los elementos de source
que se excluyen null
del cálculo de la suma. Este método devuelve cero si source
no contiene ningún elemento o todos los elementos son null
.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum(IEnumerable<Nullable<Single>>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Single que aceptan valores NULL.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Sum(System::Collections::Generic::IEnumerable<Nullable<float>> ^ source);
public static float? Sum (this System.Collections.Generic.IEnumerable<float?> source);
static member Sum : seq<Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Sum (source As IEnumerable(Of Nullable(Of Single))) As Nullable(Of Single)
Parámetros
- source
- IEnumerable<Nullable<Single>>
Secuencia de valores Single que aceptan valores NULL cuya suma se va a calcular.
Devoluciones
Suma de los valores de la secuencia.
Excepciones
source
es null
.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum(IEnumerable<Nullable<Single>>) para sumar los valores de una secuencia.
float?[] points = { null, 0, 92.83F, null, 100.0F, 37.46F, 81.1F };
float? sum = points.Sum();
Console.WriteLine("Total points earned: {0}", sum);
/*
This code produces the following output:
Total points earned: 311.39
*/
' Create an array of Nullable Single values.
Dim points() As Nullable(Of Single) =
{Nothing, 0, 92.83F, Nothing, 100.0F, 37.46F, 81.1F}
' Get the sum of values in the list.
Dim sum As Nullable(Of Single) = points.Sum()
' Display the output.
Console.WriteLine($"Total points earned: {sum}")
' This code produces the following output:
'
' Total points earned: 311.39
Comentarios
Los elementos de source
que se excluyen null
del cálculo de la suma. Este método devuelve cero si source
no contiene ningún elemento o todos los elementos son null
.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum(IEnumerable<Nullable<Int64>>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Int64 que aceptan valores NULL.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<long> Sum(System::Collections::Generic::IEnumerable<Nullable<long>> ^ source);
public static long? Sum (this System.Collections.Generic.IEnumerable<long?> source);
static member Sum : seq<Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Sum (source As IEnumerable(Of Nullable(Of Long))) As Nullable(Of Long)
Parámetros
- source
- IEnumerable<Nullable<Int64>>
Secuencia de valores Int64 que aceptan valores NULL cuya suma se va a calcular.
Devoluciones
Suma de los valores de la secuencia.
Excepciones
source
es null
.
La suma es mayor que Int64.MaxValue.
Comentarios
Los elementos de source
que se excluyen null
del cálculo de la suma. Este método devuelve cero si source
no contiene ningún elemento o todos los elementos son null
.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum(IEnumerable<Nullable<Double>>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Double que aceptan valores NULL.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Sum(System::Collections::Generic::IEnumerable<Nullable<double>> ^ source);
public static double? Sum (this System.Collections.Generic.IEnumerable<double?> source);
static member Sum : seq<Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Sum (source As IEnumerable(Of Nullable(Of Double))) As Nullable(Of Double)
Parámetros
- source
- IEnumerable<Nullable<Double>>
Secuencia de valores Double que aceptan valores NULL cuya suma se va a calcular.
Devoluciones
Suma de los valores de la secuencia.
Excepciones
source
es null
.
La suma es mayor que Double.MaxValue.
Comentarios
Los elementos de source
que se excluyen null
del cálculo de la suma. Este método devuelve cero si source
no contiene ningún elemento o todos los elementos son null
.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum(IEnumerable<Int32>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Int32.
public:
[System::Runtime::CompilerServices::Extension]
static int Sum(System::Collections::Generic::IEnumerable<int> ^ source);
public static int Sum (this System.Collections.Generic.IEnumerable<int> source);
static member Sum : seq<int> -> int
<Extension()>
Public Function Sum (source As IEnumerable(Of Integer)) As Integer
Parámetros
- source
- IEnumerable<Int32>
Secuencia de valores Int32 cuya suma se va a calcular.
Devoluciones
Suma de los valores de la secuencia.
Excepciones
source
es null
.
La suma es mayor que Int32.MaxValue.
Comentarios
Este método devuelve cero si source
no contiene ningún elemento.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum(IEnumerable<Int64>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Int64.
public:
[System::Runtime::CompilerServices::Extension]
static long Sum(System::Collections::Generic::IEnumerable<long> ^ source);
public static long Sum (this System.Collections.Generic.IEnumerable<long> source);
static member Sum : seq<int64> -> int64
<Extension()>
Public Function Sum (source As IEnumerable(Of Long)) As Long
Parámetros
- source
- IEnumerable<Int64>
Secuencia de valores Int64 cuya suma se va a calcular.
Devoluciones
Suma de los valores de la secuencia.
Excepciones
source
es null
.
La suma es mayor que Int64.MaxValue.
Comentarios
Este método devuelve cero si source
no contiene ningún elemento.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum(IEnumerable<Double>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Double.
public:
[System::Runtime::CompilerServices::Extension]
static double Sum(System::Collections::Generic::IEnumerable<double> ^ source);
public static double Sum (this System.Collections.Generic.IEnumerable<double> source);
static member Sum : seq<double> -> double
<Extension()>
Public Function Sum (source As IEnumerable(Of Double)) As Double
Parámetros
- source
- IEnumerable<Double>
Secuencia de valores Double cuya suma se va a calcular.
Devoluciones
Suma de los valores de la secuencia.
Excepciones
source
es null
.
La suma es mayor que Double.MaxValue.
Comentarios
Este método devuelve cero si source
no contiene ningún elemento.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum(IEnumerable<Decimal>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Decimal.
public:
[System::Runtime::CompilerServices::Extension]
static System::Decimal Sum(System::Collections::Generic::IEnumerable<System::Decimal> ^ source);
public static decimal Sum (this System.Collections.Generic.IEnumerable<decimal> source);
static member Sum : seq<decimal> -> decimal
<Extension()>
Public Function Sum (source As IEnumerable(Of Decimal)) As Decimal
Parámetros
- source
- IEnumerable<Decimal>
Secuencia de valores Decimal cuya suma se va a calcular.
Devoluciones
Suma de los valores de la secuencia.
Excepciones
source
es null
.
La suma es mayor que Decimal.MaxValue.
Comentarios
El Sum(IEnumerable<Decimal>) método devuelve cero si source
no contiene ningún elemento.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum(IEnumerable<Nullable<Decimal>>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Decimal que aceptan valores NULL.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Sum(System::Collections::Generic::IEnumerable<Nullable<System::Decimal>> ^ source);
public static decimal? Sum (this System.Collections.Generic.IEnumerable<decimal?> source);
static member Sum : seq<Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Sum (source As IEnumerable(Of Nullable(Of Decimal))) As Nullable(Of Decimal)
Parámetros
- source
- IEnumerable<Nullable<Decimal>>
Secuencia de valores Decimal que aceptan valores NULL cuya suma se va a calcular.
Devoluciones
Suma de los valores de la secuencia.
Excepciones
source
es null
.
La suma es mayor que Decimal.MaxValue.
Comentarios
Los elementos de source
que se excluyen null
del cálculo de la suma. Este método devuelve cero si source
no contiene ningún elemento o todos los elementos son null
.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Single que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static float Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, float> ^ selector);
public static float Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);
static member Sum : seq<'Source> * Func<'Source, single> -> single
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Single)) As Single
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IEnumerable<TSource>
Secuencia de valores que se usan para calcular una suma.
Devoluciones
Suma de los valores proyectados.
Excepciones
source
o selector
es null
.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) para sumar los valores proyectados de una secuencia.
Nota
En este ejemplo de código se usa una sobrecarga del método diferente de la sobrecarga específica que describe este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector
función.
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
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Sub SumEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"The total weight of the packages is: {totalWeight}")
End Sub
' This code produces the following output:
'
' The total weight of the packages is: 83.7
Comentarios
El Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>) método devuelve cero si source
no contiene ningún elemento.
Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector
, que proyecta los miembros de source
en un tipo numérico, específicamente Single.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una 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.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<long> Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<long>> ^ selector);
public static long? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long?> selector);
static member Sum : seq<'Source> * Func<'Source, Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Long))) As Nullable(Of Long)
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IEnumerable<TSource>
Secuencia de valores que se usan para calcular una suma.
Función de transformación que se va a aplicar a cada elemento.
Devoluciones
Suma de los valores proyectados.
Excepciones
source
o selector
es null
.
La suma es mayor que Int64.MaxValue.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) para sumar los valores proyectados de una secuencia.
Nota
En este ejemplo de código se usa una sobrecarga del método diferente de la sobrecarga específica que describe este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector
función.
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
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Sub SumEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"The total weight of the packages is: {totalWeight}")
End Sub
' This code produces the following output:
'
' The total weight of the packages is: 83.7
Comentarios
Los elementos de source
que se excluyen null
del cálculo de la suma. Este método devuelve cero si source
no contiene ningún elemento o todos los elementos son null
.
Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector
, que proyecta los miembros de source
en un tipo numérico, específicamente Nullable<Int64>
en C# o Nullable(Of Int64)
en Visual Basic.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Int32 que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<int> Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<int>> ^ selector);
public static int? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int?> selector);
static member Sum : seq<'Source> * Func<'Source, Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Integer))) As Nullable(Of Integer)
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IEnumerable<TSource>
Secuencia de valores que se usan para calcular una suma.
Función de transformación que se va a aplicar a cada elemento.
Devoluciones
Suma de los valores proyectados.
Excepciones
source
o selector
es null
.
La suma es mayor que Int32.MaxValue.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) para sumar los valores proyectados de una secuencia.
Nota
En este ejemplo de código se usa una sobrecarga del método diferente de la sobrecarga específica que describe este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector
función.
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
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Sub SumEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"The total weight of the packages is: {totalWeight}")
End Sub
' This code produces the following output:
'
' The total weight of the packages is: 83.7
Comentarios
Los elementos de source
que se excluyen null
del cálculo de la suma. Este método devuelve cero si source
no contiene ningún elemento o todos los elementos son null
.
Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector
, que proyecta los miembros de source
en un tipo numérico, específicamente Nullable<Int32>
en C# o Nullable(Of Int32)
en Visual Basic.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Double que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<double>> ^ selector);
public static double? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double?> selector);
static member Sum : seq<'Source> * Func<'Source, Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Double))) As Nullable(Of Double)
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IEnumerable<TSource>
Secuencia de valores que se usan para calcular una suma.
Función de transformación que se va a aplicar a cada elemento.
Devoluciones
Suma de los valores proyectados.
Excepciones
source
o selector
es null
.
La suma es mayor que Double.MaxValue.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) para sumar los valores proyectados de una secuencia.
Nota
En este ejemplo de código se usa una sobrecarga del método diferente de la sobrecarga específica que describe este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector
función.
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
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Sub SumEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"The total weight of the packages is: {totalWeight}")
End Sub
' This code produces the following output:
'
' The total weight of the packages is: 83.7
Comentarios
Los elementos de source
que se excluyen null
del cálculo de la suma. Este método devuelve cero si source
no contiene ningún elemento o todos los elementos son null
.
Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector
, que proyecta los miembros de source
en un tipo numérico, específicamente Nullable<Double>
en C# o Nullable(Of Double)
en Visual Basic.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Single que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<float>> ^ selector);
public static float? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float?> selector);
static member Sum : seq<'Source> * Func<'Source, Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Single))) As Nullable(Of Single)
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IEnumerable<TSource>
Secuencia de valores que se usan para calcular una suma.
Función de transformación que se va a aplicar a cada elemento.
Devoluciones
Suma de los valores proyectados.
Excepciones
source
o selector
es null
.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) para sumar los valores proyectados de una secuencia.
Nota
En este ejemplo de código se usa una sobrecarga del método diferente de la sobrecarga específica que describe este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector
función.
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
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Sub SumEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"The total weight of the packages is: {totalWeight}")
End Sub
' This code produces the following output:
'
' The total weight of the packages is: 83.7
Comentarios
Los elementos de source
que se excluyen null
del cálculo de la suma. Este método devuelve cero si source
no contiene ningún elemento o todos los elementos son null
.
Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector
, que proyecta los miembros de source
en un tipo numérico, específicamente Nullable<Single>
en C# o Nullable(Of Single)
en Visual Basic.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Int64 que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static long Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, long> ^ selector);
public static long Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);
static member Sum : seq<'Source> * Func<'Source, int64> -> int64
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Long)) As Long
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IEnumerable<TSource>
Secuencia de valores que se usan para calcular una suma.
Devoluciones
Suma de los valores proyectados.
Excepciones
source
o selector
es null
.
La suma es mayor que Int64.MaxValue.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) para sumar los valores proyectados de una secuencia.
Nota
En este ejemplo de código se usa una sobrecarga del método que es diferente de la sobrecarga específica que se describe en este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector
función.
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
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Sub SumEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"The total weight of the packages is: {totalWeight}")
End Sub
' This code produces the following output:
'
' The total weight of the packages is: 83.7
Comentarios
Este método devuelve cero si source
no contiene ningún elemento.
Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector
, que proyecta los miembros de source
en un tipo numérico, específicamente Int64.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Int32 que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static int Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, int> ^ selector);
public static int Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);
static member Sum : seq<'Source> * Func<'Source, int> -> int
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Integer)) As Integer
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IEnumerable<TSource>
Secuencia de valores que se usan para calcular una suma.
Devoluciones
Suma de los valores proyectados.
Excepciones
source
o selector
es null
.
La suma es mayor que Int32.MaxValue.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) para sumar los valores proyectados de una secuencia.
Nota
En este ejemplo de código se usa una sobrecarga del método que es diferente de la sobrecarga específica que se describe en este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector
función.
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
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Sub SumEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"The total weight of the packages is: {totalWeight}")
End Sub
' This code produces the following output:
'
' The total weight of the packages is: 83.7
Comentarios
Este método devuelve cero si source
no contiene ningún elemento.
Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector
, que proyecta los miembros de source
en un tipo numérico, específicamente Int32.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Double que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static double Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, double> ^ selector);
public static double Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);
static member Sum : seq<'Source> * Func<'Source, double> -> double
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Double)) As Double
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IEnumerable<TSource>
Secuencia de valores que se usan para calcular una suma.
Devoluciones
Suma de los valores proyectados.
Excepciones
source
o selector
es null
.
La suma es mayor que Double.MaxValue.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) para sumar los valores proyectados de una secuencia.
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
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Sub SumEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"The total weight of the packages is: {totalWeight}")
End Sub
' This code produces the following output:
'
' The total weight of the packages is: 83.7
Comentarios
Este método devuelve cero si source
no contiene ningún elemento.
Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector
, que proyecta los miembros de source
en un tipo numérico, específicamente Double.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Decimal que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Decimal Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, System::Decimal> ^ selector);
public static decimal Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);
static member Sum : seq<'Source> * Func<'Source, decimal> -> decimal
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Decimal)) As Decimal
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IEnumerable<TSource>
Secuencia de valores que se usan para calcular una suma.
Devoluciones
Suma de los valores proyectados.
Excepciones
source
o selector
es null
.
La suma es mayor que Decimal.MaxValue.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) para sumar los valores proyectados de una secuencia.
Nota
En este ejemplo de código se usa una sobrecarga del método que es diferente de la sobrecarga específica que se describe en este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector
función.
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
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Sub SumEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"The total weight of the packages is: {totalWeight}")
End Sub
' This code produces the following output:
'
' The total weight of the packages is: 83.7
Comentarios
Este método devuelve cero si source
no contiene ningún elemento.
Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector
, que proyecta los miembros de source
en un tipo numérico, específicamente Decimal.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.
Consulte también
Se aplica a
Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)
- Source:
- Sum.cs
- Source:
- Sum.cs
- Source:
- Sum.cs
Calcula la suma de una secuencia de valores Decimal que aceptan valores NULL que se obtiene al invocar una función de transformación en cada elemento de la secuencia de entrada.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Sum(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<System::Decimal>> ^ selector);
public static decimal? Sum<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal?> selector);
static member Sum : seq<'Source> * Func<'Source, Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Sum(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Decimal))) As Nullable(Of Decimal)
Parámetros de tipo
- TSource
Tipo de los elementos de source
.
Parámetros
- source
- IEnumerable<TSource>
Secuencia de valores que se usan para calcular una suma.
Función de transformación que se va a aplicar a cada elemento.
Devoluciones
Suma de los valores proyectados.
Excepciones
source
o selector
es null
.
La suma es mayor que Decimal.MaxValue.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>) para sumar los valores proyectados de una secuencia.
Nota
En este ejemplo de código se usa una sobrecarga del método que es diferente de la sobrecarga específica que se describe en este artículo. Para ampliar el ejemplo a la sobrecarga que describe este artículo, cambie el cuerpo de la selector
función.
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
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Sub SumEx1()
' Create a list of Package values.
Dim packages As New List(Of Package)(New Package() _
{New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Sum the values from each item's Weight property.
Dim totalWeight As Double = packages.Sum(Function(pkg) _
pkg.Weight)
' Display the result.
Console.WriteLine($"The total weight of the packages is: {totalWeight}")
End Sub
' This code produces the following output:
'
' The total weight of the packages is: 83.7
Comentarios
Los elementos de source
que se excluyen null
del cálculo de la suma. Este método devuelve cero si source
no contiene ningún elemento o todos los elementos son null
.
Puede aplicar este método a una secuencia de valores arbitrarios si proporciona una función, selector
, que proyecta los miembros de source
en un tipo numérico, específicamente Nullable<Decimal>
en C# o Nullable(Of Decimal)
en Visual Basic.
En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Sum()
cláusula se traduce en una invocación de Sum.