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