Поделиться через


Операции статистической обработки

Обновлен: Ноябрь 2007

Статистическая операция вычисляет одно значение из коллекции значений. Примером статистической операции является вычисление средней ежедневной температуры на основании данных о ежедневных значениях температуры для месяца.

На следующем рисунке показаны результаты двух различных статистических операций в последовательности чисел. Первая операция суммирует числа. Вторая операция возвращает максимальное значение в последовательности.

Операции статистической обработки LINQ

В следующем разделе перечислены методы стандартных операторов запросов, которые выполняют статистические операции.

Методы

Имя метода

Описание

Синтаксис выражения запроса C#

Синтаксис выражения запроса Visual Basic

Дополнительные сведения

Aggregate

Выполняет пользовательскую статистическую операцию над значениями коллекции.

Неприменимо.

Неприменимо.

Enumerable.Aggregate

Queryable.Aggregate

Average

Вычисляет среднее значение коллекции значений.

Неприменимо.

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

Определяет максимальное значение в коллекции.

Неприменимо.

Aggregate … In … Into Max()

Enumerable.Max

Queryable.Max

Min

Определяет минимальное значение в коллекции.

Неприменимо.

Aggregate … In … Into Min()

Enumerable.Min

Queryable.Min

Sum

Вычисляет сумму значений в коллекции.

Неприменимо.

Aggregate … In … Into Sum()

Enumerable.Sum

Queryable.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

Count

В следующем примере кода для подсчета числа тех значений в массиве, которые больше или равны 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

Max

В следующем примере кода для вычисления самой высокой температуры в массиве чисел, представляющих температуру, используется предложение 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

Min

В следующем примере кода для вычисления самой низкой температуры в массиве чисел, представляющих температуру, используется предложение 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

Дополнительные сведения о выполнении статистических операций

Topic Location
Практическое руководство. Запрос самого большого файла или файлов в дереве каталогов (LINQ) LINQ (Language-Integrated Query)
Практическое руководство. Вычисление значения столбцов в текстовом файле в формате CSV (LINQ) LINQ (Language-Integrated Query)
Практическое руководство. Запрос общего числа байтов в наборе папок (LINQ) LINQ (Language-Integrated Query)
Практическое руководство. Поиск минимального или максимального значения в результатах запроса с помощью LINQ (Visual Basic) Справочник по языку Visual Basic
Практическое руководство. Выполнение над данными функций Count, Sum и Average с помощью LINQ (Visual Basic) Справочник по языку Visual Basic
Практическое руководство. Запрос самого большого файла или файлов в дереве папок (LINQ) dv_Linq
Практическое руководство. Вычисление значений столбцов в текстовом CSV-файле (LINQ) dv_Linq
Практическое руководство. Запрос общего числа байтов в наборе папок (LINQ) dv_Linq
Практическое руководство. Поиск минимального или максимального значения в результатах запроса с помощью LINQ (Visual Basic) dv_vbalr
Практическое руководство. Выполнение над данными функций Count, Sum и Average с помощью LINQ (Visual Basic) dv_vbalr
Практическое руководство. Запрос самого большого файла или файлов в дереве папок (LINQ) dv_Linq
Практическое руководство. Вычисление значений столбцов в текстовом CSV-файле (LINQ) dv_Linq
Практическое руководство. Запрос общего числа байтов в наборе папок (LINQ) dv_Linq
Практическое руководство. Поиск минимального или максимального значения в результатах запроса с помощью LINQ (Visual Basic) dv_vbalr
Практическое руководство. Выполнение над данными функций Count, Sum и Average с помощью LINQ (Visual Basic) dv_vbalr

См. также

Основные понятия

Общие сведения о стандартных операторах запроса

Ссылки

Статистическое предложение (Visual Basic)

System.Linq