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.
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 |
|
Average |
Calcula el valor promedio de una colección de valores. |
No es aplicable |
Aggregate … In … Into 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() |
|
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() |
|
Max |
Determina el valor máximo de una colección. |
No es aplicable |
Aggregate … In … Into Max() |
|
Min |
Determina el valor mínimo de una colección. |
No es aplicable |
Aggregate … In … Into Min() |
|
Sum |
Calcula la suma de los valores de una colección. |
No es aplicable |
Aggregate … In … Into 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
Total
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
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
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)