Операции агрегирования (Visual Basic)
Статистическая операция вычисляет одно значение по коллекции значений. Например, статистической обработкой является вычисление средней дневной температуры с использованием значений дневной температуры за месяц.
На приведенном ниже рисунке показаны результаты двух различных операций агрегирования с последовательностью чисел. Первая операция суммирует числа. Вторая операция возвращает максимальное значение в последовательности.
В следующем разделе перечислены методы стандартных операторов запросов, которые выполняют операции агрегирования.
Методы
Имя метода | Description | Синтаксис выражения запроса Visual Basic | Дополнительные сведения |
---|---|---|---|
Агрегированное | Выполняет пользовательскую операцию агрегирования со значениями коллекции. | Неприменимо. | Enumerable.Aggregate Queryable.Aggregate |
По средней | Вычисляет среднее значение коллекции значений. | Aggregate … In … Into Average() |
Enumerable.Average Queryable.Average |
Count | Подсчитывает число элементов в коллекции (при необходимости только те элементы, которые удовлетворяют функции предиката). | Aggregate … In … Into Count() |
Enumerable.Count Queryable.Count |
LongCount | Подсчитывает число элементов в большой коллекции (при необходимости только те элементы, которые удовлетворяют функции предиката). | 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 |
Sum | Вычисляет сумму значений в коллекции. | Aggregate … In … Into Sum() |
Enumerable.Sum Queryable.Sum |
Примеры синтаксиса выражений запросов
По средней
В следующем примере кода предложение в Visual Basic используется Aggregate Into Average
для вычисления средней температуры в массиве чисел, представляющих температуры.
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
В следующем примере кода предложение в Visual Basic используется Aggregate Into Count
для подсчета количества значений в массиве, превышающего или равное 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
Sum
В следующем примере кода предложение используется 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)
- Предложение Aggregate
- Практическое руководство. Вычисление значений столбцов в текстовом файле CSV (LINQ) (Visual Basic)
- How to: Count, Sum, or Average Data (Практическое руководство. Выполнение функций Count, Sum и Average)
- How to: Find the Minimum or Maximum Value in a Query Result (Практическое руководство. Нахождение минимального или максимального значения в результатах запроса)
- Практическое руководство. Запрос к крупнейшему файлу или файлам в дереве каталогов (LINQ) (Visual Basic)
- Практическое руководство. Запрос общего количества байтов в наборе папок (LINQ) (Visual Basic)