对 List < int > 进行排序

使用 C # 对 List 进行数字排序的最佳方法是什么? 我的列表有项目5,7,3,我希望他们排序3,5,7。我知道一些更长的方法,但我想 Linq 应该有更快的方法吧?

对不起,这是一天的结束,我的思想在其他地方工作,没有看到它的第一次改变: (

239506 次浏览

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

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

Keeping it simple is the key.

Try Below.

var values = new int[5,7,3];
values = values.OrderBy(p => p).ToList();
List<int> list = new List<int> { 5, 7, 3 };
list.Sort((x,y)=> y.CompareTo(x));
list.ForEach(action => { Console.Write(action + " "); });
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();

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




}






}