Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une opération de tri ordonne les éléments d’une séquence en fonction d’un ou de plusieurs attributs. Le premier critère de tri effectue un tri principal sur les éléments. En spécifiant un deuxième critère de tri, vous pouvez trier les éléments dans chaque groupe de tri principal.
L’illustration suivante montre les résultats d’une opération de tri alphabétique sur une séquence de caractères.
Les méthodes d’opérateurs de requête standard qui trient les données sont répertoriées dans la section suivante.
Méthodes
Nom de la méthode | Descriptif | Syntaxe de l’expression de requête Visual Basic | Plus d’informations |
---|---|---|---|
OrderBy | Trie les valeurs dans l’ordre croissant. | Order By |
Enumerable.OrderBy Queryable.OrderBy |
OrderByDescending | Trie les valeurs dans l’ordre décroissant. | Order By … Descending |
Enumerable.OrderByDescending Queryable.OrderByDescending |
ThenBy | Effectue un tri secondaire dans l’ordre croissant. | Order By …, … |
Enumerable.ThenBy Queryable.ThenBy |
ThenByDescending | Effectue un tri secondaire dans l’ordre décroissant. | Order By …, … Descending |
Enumerable.ThenByDescending Queryable.ThenByDescending |
Inverser | Inverse l’ordre des éléments dans une collection. | Non applicable. | Enumerable.Reverse Queryable.Reverse |
Exemples de syntaxe d’expression de requête
Exemples de tri principaux
Tri principal croissant
L’exemple suivant montre comment utiliser la Order By
clause dans une requête LINQ pour trier les chaînes d’un tableau par longueur de chaîne, dans l’ordre croissant.
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
Tri principal décroissant
L’exemple suivant montre comment utiliser la Order By Descending
clause dans une requête LINQ pour trier les chaînes par leur première lettre, dans l’ordre décroissant.
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
Exemples de tri secondaires
Tri secondaire croissant
L’exemple suivant montre comment utiliser la Order By
clause dans une requête LINQ pour effectuer un tri principal et secondaire des chaînes d’un tableau. Les chaînes sont triées principalement par longueur et secondairement par la première lettre de la chaîne, dans l’ordre croissant.
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
Tri secondaire décroissant
L’exemple suivant montre comment utiliser la clause Order By Descending
dans une requête LINQ pour effectuer un tri principal dans l’ordre croissant et un tri secondaire dans l’ordre décroissant. Les chaînes sont triées principalement par longueur et secondairement par la première lettre de la chaîne.
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