Share via


Operaciones de agregación

Actualización: noviembre 2007

Una operación de agregación calcula un valor único a partir de una colección de valores. Un ejemplo de operación de agregación sería calcular la temperatura diaria promedio a partir de los valores de temperatura diarios de un mes completo.

La ilustración siguiente muestra los resultados de dos operaciones de agregación diferentes con una secuencia de números. La primera operación suma los números. La segunda operación devuelve el valor máximo de la secuencia.

Operaciones de agregación en LINQ

Los métodos de operador de consulta estándar que realizan operaciones de agregación se enumeran en la sección siguiente.

Métodos

Nombre del método

Description

Sintaxis de las expresiones de consulta de C#

Sintaxis de las expresiones de consulta de Visual Basic

Más información

Agregado

Realiza una operación de agregación personalizada con los valores de una colección.

No es aplicable

No es aplicable

Enumerable.Aggregate

Queryable.Aggregate

Average

Calcula el valor promedio de una colección de valores.

No es aplicable

Aggregate … In … Into Average()

Enumerable.Average

Queryable.Average

Count

Cuenta los elementos de una colección y, opcionalmente, sólo aquéllos que satisfacen una función de predicado.

No es aplicable

Aggregate … In … Into Count()

Enumerable.Count

Queryable.Count

LongCount

Cuenta los elementos de una colección grande y, opcionalmente, sólo aquéllos que satisfacen una función de predicado.

No es aplicable

Aggregate … In … Into LongCount()

Enumerable.LongCount

Queryable.LongCount

Max

Determina el valor máximo de una colección.

No es aplicable

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max

Min

Determina el valor mínimo de una colección.

No es aplicable

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min

Sum

Calcula la suma de los valores de una colección.

No es aplicable

Aggregate … In … Into Sum()

Enumerable.Sum

Queryable.Sum

Ejemplos de sintaxis de expresiones de consulta

Average

En el ejemplo de código siguiente se utiliza la cláusula Aggregate Into Average en Visual Basic para calcular la temperatura promedio en una matriz de números que representan temperaturas.

Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

Dim avg = Aggregate temp In temperatures Into Average()

' Display the result.
MsgBox(avg)

' This code produces the following output:

' 76.65

Count

En el ejemplo de código siguiente se utiliza la cláusula Aggregate Into Count en Visual Basic para contar el número de valores de una matriz que son mayores o iguales que 80.

Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

Dim highTemps As Integer = Aggregate temp In temperatures Into Count(temp >= 80)

' Display the result.
MsgBox(highTemps)

' This code produces the following output:

' 3

LongCount

En el ejemplo de código siguiente se utiliza la cláusula Aggregate Into LongCount en Visual Basic para contar el número de valores de una matriz.

Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

Dim numTemps As Long = Aggregate temp In temperatures Into LongCount()

' Display the result.
MsgBox(numTemps)

' This code produces the following output:

' 6

Max

En el ejemplo de código siguiente se utiliza la cláusula Aggregate Into Max en Visual Basic para calcular la temperatura máxima en una matriz de números que representan temperaturas.

Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

Dim maxTemp = Aggregate temp In temperatures Into Max()

' Display the result.
MsgBox(maxTemp)

' This code produces the following output:

' 88.6

Min

En el ejemplo de código siguiente se utiliza la cláusula Aggregate Into Min en Visual Basic para calcular la temperatura mínima en una matriz de números que representan temperaturas.

Dim temperatures() As Double = {72.0, 81.5, 69.3, 88.6, 80.0, 68.5}

Dim minTemp = Aggregate temp In temperatures Into Min()

' Display the result.
MsgBox(minTemp)

' This code produces the following output:

' 68.5

Sum

En el ejemplo de código siguiente se utiliza la cláusula Aggregate Into Sum en Visual Basic para calcular el importe total de gastos en una matriz de valores que representan gastos.

Dim expenses() As Double = {560.0, 300.0, 1080.5, 29.95, 64.75, 200.0}

Dim totalExpense = Aggregate expense In expenses Into Sum()

' Display the result.
MsgBox(totalExpense)

' This code produces the following output:

' 2235.2

Información adicional sobre cómo realizar operaciones de agregación

Vea también

Conceptos

Información general sobre operadores de consulta estándar

Referencia

Aggregate (Cláusula, Visual Basic)

System.Linq