Compartir a través de


Operaciones de agregación (Visual Basic)

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 es calcular el promedio de temperatura diaria a partir de los valores de temperatura diaria durante un mes.

En la siguiente ilustración se muestran los resultados de dos operaciones de agregación diferentes en 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.

Illustration that shows LINQ aggregation operations.

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

Métodos

Nombre del método Descripción Sintaxis de expresiones de consulta de Visual Basic Más información
Agregar Realiza una operación de agregación personalizada en los valores de una colección. No es aplicable. Enumerable.Aggregate

Queryable.Aggregate
Average Calcula el valor medio de una colección de valores. Aggregate … In … Into Average() Enumerable.Average

Queryable.Average
Recuento Cuenta los elementos de una colección; opcionalmente, solo aquellos que satisfacen una función de predicado. Aggregate … In … Into Count() Enumerable.Count

Queryable.Count
LongCount Cuenta los elementos de una gran colección; opcionalmente, solo aquellos que satisfacen una función de predicado. Aggregate … In … Into LongCount() Enumerable.LongCount

Queryable.LongCount
Max o MaxBy Determina el valor máximo de una colección. Aggregate … In … Into Max() Enumerable.Max
Enumerable.MaxBy
Queryable.Max
Queryable.MaxBy
Min o MinBy Determina el valor mínimo de una colección. Aggregate … In … Into Min() Enumerable.Min
Enumerable.MinBy
Queryable.Min
Queryable.MinBy
Sum Calcula la suma de los valores de una colección. Aggregate … In … Into Sum() Enumerable.Sum

Queryable.Sum

Ejemplos de sintaxis de expresiones de consulta

Average

En el ejemplo de código siguiente se usa la cláusula Aggregate Into Average de Visual Basic para calcular la temperatura media 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 usa la cláusula Aggregate Into Count de 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 usa la cláusula Aggregate Into LongCount 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 usa la cláusula Aggregate Into Max 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

Mín.

En el ejemplo de código siguiente se usa la cláusula Aggregate Into Min 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 usa la cláusula Aggregate Into Sum para calcular el importe total de gastos de 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

Consulte también