Comment puis-je sortinger la liste générique DESC et ASC?

Comment puis-je sortinger la liste générique DESC et ASC? Avec LINQ et sans LINQ? J’utilise VS2008.

class Program { static void Main(ssortingng[] args) { List li = new List(); li.Add(456); li.Add(123); li.Add(12345667); li.Add(0); li.Add(1); li.Sort(); foreach (int item in li) { Console.WriteLine(item.ToSsortingng() + "\n"); } Console.ReadKey(); } } 

Avec linq

 var ascendingOrder = li.OrderBy(i => i); var descendingOrder = li.OrderByDescending(i => i); 

Sans linq

 li.Sort((a, b) => a.CompareTo(b)); // ascending sort li.Sort((a, b) => -1* a.CompareTo(b)); // descending sort 

Notez que sans Linq, la liste elle-même est en cours de sorting. Avec Linq, vous obtenez un énumérable ordonné de la liste mais la liste elle-même n’a pas changé. Si vous souhaitez modifier la liste, vous devez changer les méthodes Linq en quelque chose comme:

 li = li.OrderBy(i => i).ToList(); 

Sans Linq:

Ascendant:

 li.Sort(); 

Descendant:

 li.Sort(); li.Reverse(); 

sans linq, utilisez Sort() et Reverse() .

Un moyen très simple de sortinger la liste avec les valeurs int dans l’ordre décroissant:

 li.Sort((a,b)=> ba); 

J’espère que ça aide!