92 votes

Tri d'une liste<int>

En utilisant C# quelle est la meilleure façon de trier une liste numériquement ? Ma liste contient des éléments 5,7,3 et je voudrais qu'ils soient triés 3,5,7. Je connais des moyens plus longs, mais j'imagine que Linq a un moyen plus rapide ?

désolé c'était la fin de la journée, mon esprit est ailleurs où ça a fonctionné, ne l'a pas vu changer la première fois :(

173voto

Mark Byers Points 318575

Il n'y a pas besoin de LINQ ici, il suffit d'appeler Trier :

list.Sort();

Exemple de code :

List<int> list = new List<int> { 5, 7, 3 };
list.Sort();
foreach (int x in list)
{
    Console.WriteLine(x);
}

Résultat :

3
5
7

47voto

Khizer Jalal Points 41

Rester simple est la clé.

Essayez ci-dessous.

var values = new int[5,7,3];
values = values.OrderBy(p => p).ToList();

20voto

Will Points 1776
var values = new int[] {5,7,3};
var sortedValues = values.OrderBy(v => v).ToList();   // result 3,5,7

12voto

siva Points 11
List<int> list = new List<int> { 5, 7, 3 };  
list.Sort((x,y)=> y.CompareTo(x));  
list.ForEach(action => { Console.Write(action + " "); });

8voto

Clark Kent Points 5845

Trier une liste d'entiers décroissants

class Program
    {       
        private class SortIntDescending : IComparer<int>
        {
            int IComparer<int>.Compare(int a, int b) //implement Compare
            {              
                if (a > b)
                    return -1; //normally greater than = 1
                if (a < b)
                    return 1; // normally smaller than = -1
                else
                    return 0; // equal
            }
        }

        static List<int> intlist = new List<int>(); // make a list

        static void Main(string[] args)
        {
            intlist.Add(5); //fill the list with 5 ints
            intlist.Add(3);
            intlist.Add(5);
            intlist.Add(15);
            intlist.Add(7);

            Console.WriteLine("Unsorted list :");
            Printlist(intlist);

            Console.WriteLine();
            // intlist.Sort(); uses the default Comparer, which is ascending
            intlist.Sort(new SortIntDescending()); //sort descending

            Console.WriteLine("Sorted descending list :");
            Printlist(intlist);

            Console.ReadKey(); //wait for keydown
        }

        static void Printlist(List<int> L)
        {
            foreach (int i in L) //print on the console
            {
                Console.WriteLine(i);
            }
        }
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X