Sortowanie danych (Visual Basic)
Operacja sortowania porządkuje elementy sekwencji na podstawie co najmniej jednego atrybutu. Pierwsze kryterium sortowania wykonuje sortowanie podstawowe dla elementów. Określając drugie kryterium sortowania, można sortować elementy w każdej podstawowej grupie sortowania.
Poniższa ilustracja przedstawia wyniki operacji sortowania alfabetycznego w sekwencji znaków.
Standardowe metody operatorów zapytań, które sortują dane, są wymienione w poniższej sekcji.
Metody
Nazwa metody | opis | Składnia wyrażeń zapytań języka Visual Basic | Więcej informacji |
---|---|---|---|
Kolejność według | Sortuje wartości w kolejności rosnącej. | Order By |
Enumerable.OrderBy Queryable.OrderBy |
Orderbydescending | Sortuje wartości w kolejności malejącej. | Order By … Descending |
Enumerable.OrderByDescending Queryable.OrderByDescending |
Thenby | Wykonuje sortowanie pomocnicze w kolejności rosnącej. | Order By …, … |
Enumerable.ThenBy Queryable.ThenBy |
Thenbydescending | Wykonuje sortowanie pomocnicze w kolejności malejącej. | Order By …, … Descending |
Enumerable.ThenByDescending Queryable.ThenByDescending |
Wycofaj | Odwraca kolejność elementów w kolekcji. | Nie dotyczy. | Enumerable.Reverse Queryable.Reverse |
Przykłady składni wyrażeń zapytania
Przykłady sortowania podstawowego
Podstawowy sortowanie rosnące
W poniższym przykładzie pokazano, jak używać Order By
klauzuli w zapytaniu LINQ w celu sortowania ciągów w tablicy według długości ciągu w kolejności rosnącej.
Dim words = {"the", "quick", "brown", "fox", "jumps"}
Dim sortQuery = From word In words
Order By word.Length
Select word
Dim sb As New System.Text.StringBuilder()
For Each str As String In sortQuery
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' the
' fox
' quick
' brown
' jumps
Sortowanie malejące podstawowe
W następnym przykładzie pokazano, jak używać klauzuli Order By Descending
w zapytaniu LINQ w celu sortowania ciągów według ich pierwszej litery w kolejności malejącej.
Dim words = {"the", "quick", "brown", "fox", "jumps"}
Dim sortQuery = From word In words
Order By word.Substring(0, 1) Descending
Select word
Dim sb As New System.Text.StringBuilder()
For Each str As String In sortQuery
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' the
' quick
' jumps
' fox
' brown
Przykłady sortowania pomocniczego
Pomocnicze sortowanie rosnące
W poniższym przykładzie pokazano, jak używać klauzuli Order By
w zapytaniu LINQ w celu wykonania podstawowego i pomocniczego rodzaju ciągów w tablicy. Ciągi są sortowane głównie według długości i po drugie przez pierwszą literę ciągu, zarówno w kolejności rosnącej.
Dim words = {"the", "quick", "brown", "fox", "jumps"}
Dim sortQuery = From word In words
Order By word.Length, word.Substring(0, 1)
Select word
Dim sb As New System.Text.StringBuilder()
For Each str As String In sortQuery
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' fox
' the
' brown
' jumps
' quick
Pomocniczy sortowanie malejące
W następnym przykładzie pokazano, jak użyć Order By Descending
klauzuli w zapytaniu LINQ w celu wykonania sortowania podstawowego w kolejności rosnącej i sortowania pomocniczego w kolejności malejącej. Ciągi są sortowane głównie według długości i po drugie przez pierwszą literę ciągu.
Dim words = {"the", "quick", "brown", "fox", "jumps"}
Dim sortQuery = From word In words
Order By word.Length, word.Substring(0, 1) Descending
Select word
Dim sb As New System.Text.StringBuilder()
For Each str As String In sortQuery
sb.AppendLine(str)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' fox
' the
' quick
' jumps
' brown