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.