Operaciones de agregación

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

Descripción

Sintaxis de las expresiones de consulta de C#

Sintaxis de las expresiones de consulta de Visual Basic

Más información

Aggregate

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

Total

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

Bb546138.collapse_all(es-es,VS.110).gifAverage

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

Bb546138.collapse_all(es-es,VS.110).gifTotal

En el ejemplo de código siguiente se usa 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

Bb546138.collapse_all(es-es,VS.110).gifLongCount

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

Bb546138.collapse_all(es-es,VS.110).gifMax

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

Bb546138.collapse_all(es-es,VS.110).gifMin

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

Bb546138.collapse_all(es-es,VS.110).gifSum

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

Vea también

Tareas

Cómo: Calcular valores de columna en un archivo de texto CSV (LINQ)

Cómo: Hacer el recuento, la suma o el promedio de datos usando LINQ (Visual Basic)

Cómo: Buscar los valores máximo y mínimo en el resultado de una consulta usando LINQ (Visual Basic)

Cómo: Cómo buscar el archivo o archivos de mayor tamaño en un árbol de directorios (LINQ)

Cómo: Buscar el número total de bytes en un conjunto de carpetas (LINQ)

Referencia

Aggregate (Cláusula, Visual Basic)

System.Linq

Conceptos

Información general sobre operadores de consulta estándar