Opérateurs de tri dans LINQ
Une opération de tri permet d'ordonner les éléments d'une séquence sur la base d'un ou plusieurs attributs.
Opérateur | La description | Syntaxe d'expression de requête C # | Syntaxe d'expression de requête VB |
---|---|---|---|
Commandé par | L'opérateur trie les valeurs dans un ordre croissant | commandé par | Commandé par |
OrderByDescending | L'opérateur trie les valeurs dans un ordre décroissant | ordre par ... décroissant | Trier par ... décroissant |
Puis par | Exécute un tri secondaire dans un ordre croissant | commandé par …, … | Commandé par …, … |
ThenByDescendant | Exécute un tri secondaire dans un ordre décroissant | orderby…,… décroissant | Trier par…,… Décroissant |
Inverser | Effectue une inversion de l'ordre des éléments dans une collection | N'est pas applicable | N'est pas applicable |
Exemple de OrderBy, OrderByDescending - Expression de requête
C #
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Operators {
class Program {
static void Main(string[] args) {
int[] num = { -20, 12, 6, 10, 0, -3, 1 };
//create a query that obtain the values in sorted order
var posNums = from n in num
orderby n
select n;
Console.Write("Values in ascending order: ");
// Execute the query and display the results.
foreach (int i in posNums)
Console.Write(i + " \n");
var posNumsDesc = from n in num
orderby n descending
select n;
Console.Write("\nValues in descending order: ");
// Execute the query and display the results.
foreach (int i in posNumsDesc)
Console.Write(i + " \n");
Console.ReadLine();
}
}
}
VB
Module Module1
Sub Main()
Dim num As Integer() = {-20, 12, 6, 10, 0, -3, 1};
Dim posNums = From n In num
Order By n
Select n;
Console.Write("Values in ascending order: ");
For Each n In posNums
Console.WriteLine(n)
Next
Dim posNumsDesc = From n In num
Order By n Descending
Select n;
Console.Write("Values in descending order: ");
For Each n In posNumsDesc
Console.WriteLine(n)
Next
Console.ReadLine()
End Sub
End Module
Lorsque le code ci-dessus en C # ou VB est compilé et exécuté, il produit le résultat suivant -
Values in ascending order: -20
-3
0
1
6
10
12
Values in descending order: 12
10
6
1
0
-3
-20
Dans les opérateurs Thenby et ThenbyDescending, la même syntaxe peut être appliquée et l'ordre de tri dépendra de plusieurs colonnes. La priorité sera la colonne qui est maintenue en premier.