Operacje agregacji
Operacja agregacji oblicza pojedynczą wartość ze zbioru wartości.Przykładem operacji agregacji jest obliczanie średniej temperatury dziennej z miesięcznej wartości temperatury dziennych.
Poniższa ilustracja pokazuje wyniki dwie operacje agregacji różnych sekwencji numerów.Pierwsza operacja sumuje liczby.Druga operacja zwraca maksymalną wartość w sekwencji.
Kwerendy standardowe metody operatora, wykonujących operacje agregacji są wymienione w poniższej sekcji.
Metody
Nazwa metody |
Opis |
Kwerendy języka C# składni wyrażenia |
Visual BasicSkładni wyrażenia kwerendy |
Więcej informacji |
---|---|---|---|---|
Łączna |
Wykonuje operację agregacji niestandardowych na podstawie wartości kolekcji. |
Nie dotyczy. |
Nie dotyczy. |
|
Średnia |
Oblicza wartość średnią ze zbioru wartości. |
Nie dotyczy. |
Aggregate … In … Into Average() |
|
Licznik |
Zlicza elementy w kolekcji, opcjonalnie tylko te elementy, które spełniają funkcji predykatu. |
Nie dotyczy. |
Aggregate … In … Into Count() |
|
LongCount |
Zlicza elementy w kolekcji duże, opcjonalnie tylko te elementy, które spełniają predykatu funkcji. |
Nie dotyczy. |
Aggregate … In … Into LongCount() |
|
MAX |
Określa maksymalną wartość w zbiorze. |
Nie dotyczy. |
Aggregate … In … Into Max() |
|
Min |
Określa minimalną wartość w zbiorze. |
Nie dotyczy. |
Aggregate … In … Into Min() |
|
Suma |
Oblicza sumę wartości w zbiorze. |
Nie dotyczy. |
Aggregate … In … Into Sum() |
Przykłady składni wyrażenia kwerendy
Średnia
Następujący kod w przykładzie wykorzystano Aggregate Into Average w klauzuli Visual Basic do obliczania średniej temperatury w tablicy liczb reprezentujących temperatur.
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
Licznik
Następujący kod w przykładzie wykorzystano Aggregate Into Count w klauzuli Visual Basic do liczenia wartości w tablicy, które są większe niż lub równe 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
Następujący kod w przykładzie wykorzystano Aggregate Into LongCount w klauzuli Visual Basic do liczenia wartości w tablicy.
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
Następujący kod w przykładzie wykorzystano Aggregate Into Max w klauzuli Visual Basic do obliczania maksymalnej temperatury w tablicy liczb reprezentujących temperatur.
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
Następujący kod w przykładzie wykorzystano Aggregate Into Min w klauzuli Visual Basic do obliczania minimalna temperatura w tablicy liczb reprezentujących temperatur.
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
Suma
Następujący kod w przykładzie wykorzystano Aggregate Into Sum w klauzuli Visual Basic do obliczania kwoty wydatków ogółem z tablicy wartości, które stanowią wydatki.
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
Zobacz też
Zadania
Porady: obliczanie wartości kolumn w pliku tekstowym CSV (LINQ)
Porady: zliczanie, sumowanie, lub uśrednianie danych za pomocą LINQ (Visual Basic)
Porady: zapytanie o największy plik lub pliki w drzewie katalogu (LINQ)
Porady: zapytanie o całkowitą liczbę bajtów w zestawie folderów (LINQ)
Informacje
Aggregate — Klauzula (Visual Basic)