Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Операция агрегирования вычисляет одно значение из коллекции значений. Примером операции агрегирования является вычисление средней дневной температуры из ежемесячного набора значений дневной температуры.
На следующем рисунке показаны результаты двух разных операций агрегирования по последовательности чисел. Первая операция суммирует числа. Вторая операция возвращает максимальное значение в последовательности.
Стандартные методы оператора запроса, выполняющие операции агрегирования, перечислены в следующем разделе.
Методы
Имя метода | Описание | Синтаксис выражения запроса Visual Basic | Дополнительная информация |
---|---|---|---|
Агрегат | Выполняет настраиваемую операцию агрегирования для значений коллекции. | Неприменимо. | Enumerable.Aggregate Queryable.Aggregate |
Среднее значение | Вычисляет среднее значение коллекции значений. | Aggregate … In … Into Average() |
Enumerable.Average Queryable.Average |
Численность | Подсчитывает элементы в коллекции, при необходимости только те элементы, которые удовлетворяют функции предиката. | Aggregate … In … Into Count() |
Enumerable.Count Queryable.Count |
ЛонгКаунт | Подсчитывает элементы в большой коллекции, при необходимости только те элементы, которые удовлетворяют функции предиката. | Aggregate … In … Into LongCount() |
Enumerable.LongCount Queryable.LongCount |
Max или MaxBy | Определяет максимальное значение в коллекции. | Aggregate … In … Into Max() |
Enumerable.Max Enumerable.MaxBy Queryable.Max Queryable.MaxBy |
Min или MinBy | Определяет минимальное значение в коллекции. | Aggregate … In … Into Min() |
Enumerable.Min Enumerable.MinBy Queryable.Min Queryable.MinBy |
Сумма | Вычисляет сумму значений в коллекции. | Aggregate … In … Into Sum() |
Enumerable.Sum Queryable.Sum |
Примеры синтаксиса выражения запроса
Среднее значение
В следующем примере кода предложение Aggregate Into Average
в Visual Basic используется для вычисления средней температуры в массиве чисел, которые представляют температуры.
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
Численность
В следующем примере кода используется оператор Aggregate Into Count
в Visual Basic для подсчета количества значений в массиве, которые больше или равны 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
В следующем примере кода оператор Aggregate Into LongCount
используется для подсчета количества значений в массиве.
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
Макс
В следующем примере кода используется оператор Aggregate Into Max
для вычисления максимальной температуры в массиве чисел, которые представляют собой температуры.
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
мин
В следующем примере кода используется условие Aggregate Into Min
для вычисления минимальной температуры в массиве чисел, которые представляют температуры.
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
Сумма
В следующем примере кода используется оператор Aggregate Into Sum
для вычисления общей суммы расходов из массива значений, представляющих расходы.
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
См. также
- System.Linq
- Общие сведения о стандартных операторах запроса (Visual Basic)
- Агрегатное предложение
- Практическое руководство. Вычисление значений столбцов в текстовом файле CSV (LINQ) (Visual Basic)
- Как: подсчитывать, суммировать или вычислять среднее значение данных
- Практическое руководство. Поиск минимального или максимального значения в результатах запроса
- Практическое руководство. Запрос к крупнейшему файлу или файлам в дереве каталогов (LINQ) (Visual Basic)
- Практическое руководство. Запрос общего количества байтов в наборе папок (LINQ) (Visual Basic)