Sorting a List<int>

C#LinqList

C# Problem Overview


Using C# what is the best way to sort a List numerically? my list has items 5,7,3 and I would like them sorted 3,5,7. I know some longer ways, but I would imagine linq has a quicker way?

sorry this was end of day, my mind is else where it worked, didn't see it change the first time:(

C# Solutions


Solution 1 - C#

There's no need for LINQ here, just call Sort:

list.Sort();

Example code:

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

Result:

3
5
7

Solution 2 - C#

Keeping it simple is the key.

Try Below.

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

Solution 3 - C#

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


Solution 4 - C#

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

Solution 5 - C#

Sort a list of integers descending

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);
            }
        }
    }

Solution 6 - C#

Sort list of int descending you could just sort first and reverse

class Program
{
    static void Main(string[] args)
    {

        List<int> myList = new List<int>();

        myList.Add(38);
        myList.Add(34);
        myList.Add(35);
        myList.Add(36);
        myList.Add(37);
        

        myList.Sort();
        myList.Reverse();
        myList.ForEach(Console.WriteLine);

            
    }
   


}

Solution 7 - C#

double jhon = 3;
double[] numbers = new double[3];
for (int i = 0; i < 3; i++)

{
    numbers[i] = double.Parse(Console.ReadLine());
            
}
Console.WriteLine("\n");

Array.Sort(numbers);

for (int i = 0; i < 3; i++)
{
    Console.WriteLine(numbers[i]);
            
}

Console.ReadLine();

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSpooksView Question on Stackoverflow
Solution 1 - C#Mark ByersView Answer on Stackoverflow
Solution 2 - C#Khizer JalalView Answer on Stackoverflow
Solution 3 - C#WillView Answer on Stackoverflow
Solution 4 - C#sivaView Answer on Stackoverflow
Solution 5 - C#NoWarView Answer on Stackoverflow
Solution 6 - C#Bartol SkeletaunView Answer on Stackoverflow
Solution 7 - C#JerryView Answer on Stackoverflow