Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Sortiervorgang sortiert die Elemente einer Sequenz basierend auf einem oder mehreren Attributen. Das erste Sortierkriterium führt eine primäre Sortierung der Elemente durch. Durch Angeben eines zweiten Sortierkriteriums können Sie die Elemente innerhalb jeder primären Sortiergruppe sortieren.
Die folgende Abbildung zeigt die Ergebnisse eines alphabetischen Sortiervorgangs für eine Abfolge von Zeichen.
Die Standardabfrageoperatormethoden, mit denen Daten sortiert werden, werden im folgenden Abschnitt aufgeführt.
Methodik
Methodenname | BESCHREIBUNG | Syntax des Visual Basic-Abfrageausdrucks | Mehr Informationen |
---|---|---|---|
SortierenNach | Sortiert Werte in aufsteigender Reihenfolge. | Order By |
Enumerable.OrderBy Queryable.OrderBy |
OrderByDescending | Sortiert Werte in absteigender Reihenfolge. | Order By … Descending |
Enumerable.OrderByDescending Queryable.OrderByDescending |
ThenBy | Führt eine sekundäre Sortierung in aufsteigender Reihenfolge aus. | Order By …, … |
Enumerable.ThenBy Queryable.ThenBy |
ThenByDescending | Führt eine sekundäre Sortierung in absteigender Reihenfolge aus. | Order By …, … Descending |
Enumerable.ThenByDescending Queryable.ThenByDescending |
Rückwärts | Umkehrt die Reihenfolge der Elemente in einer Auflistung. | Nicht zutreffend. | Enumerable.Reverse Queryable.Reverse |
Beispiele für die Abfrageausdruckssyntax
Primäre Sortierbeispiele
Primäre aufsteigende Sortierung
Im folgenden Beispiel wird veranschaulicht, wie die Order By
Klausel in einer LINQ-Abfrage verwendet wird, um die Zeichenfolgen in einem Array nach Zeichenfolgenlänge in aufsteigender Reihenfolge zu sortieren.
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
Primäre absteigende Sortierung
Im nächsten Beispiel wird veranschaulicht, wie die Order By Descending
Klausel in einer LINQ-Abfrage verwendet wird, um die Zeichenfolgen nach ihrem ersten Buchstaben in absteigender Reihenfolge zu sortieren.
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
Sekundäre Sortierbeispiele
Sekundäre aufsteigende Sortierung
Das folgende Beispiel veranschaulicht die Verwendung der Order By
Klausel in einer LINQ-Abfrage zum Ausführen einer primären und sekundären Sortierung der Zeichenfolgen in einem Array. Die Zeichenfolgen werden hauptsächlich nach Länge und sekundär nach dem ersten Buchstaben der Zeichenfolge sortiert, beide in aufsteigender Reihenfolge.
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
Sekundäre absteigende Sortierung
Das nächste Beispiel veranschaulicht, wie die Order By Descending
Klausel in einer LINQ-Abfrage verwendet wird, um eine primäre Sortierung in aufsteigender Reihenfolge und eine sekundäre Sortierung in absteigender Reihenfolge durchzuführen. Die Zeichenfolgen werden primär nach Länge und sekundär nach dem ersten Buchstaben der Zeichenfolge sortiert.
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