我怎麼排序,從最小到最大,並從大到小一個List<int> {1,4,2,56,7}
?我已經嘗試了一些東西,比如排序列表<int>「>」和「<」
List<int> sorted = Listname.Sort();
和
List<int> sorted = Listname.OrderByDescending();
,但我不完全理解的語法。
我怎麼排序,從最小到最大,並從大到小一個List<int> {1,4,2,56,7}
?我已經嘗試了一些東西,比如排序列表<int>「>」和「<」
List<int> sorted = Listname.Sort();
和
List<int> sorted = Listname.OrderByDescending();
,但我不完全理解的語法。
你可以使用LINQ:
var smallToLarge = Listname.OrderBy(x => x);
var largeToSmall = Listname.OrderByDescending(x => x);
如果你想將它們分配到一個列表,就像在你的問題的代碼示例中,您將有各一個叫.ToList()
。
class Program
{
static void Main(string[] args)
{
List<int> listOfInts = new List<int>() { 1, 4, 2, 56, 7 };
listOfInts.Sort();
foreach (int ii in listOfInts)
{
Console.WriteLine("{0}", ii);
}
Console.WriteLine("Descending ...");
listOfInts.Reverse();
foreach (int ii in listOfInts)
{
Console.WriteLine("{0}", ii);
}
Console.WriteLine("Hit any key to continue");
Console.ReadKey();
}
}
我想我錯過了一個步驟,因爲這只是返回了'1,4,2,56,7'和' 7,56,2,4,1' – Ben
您一定錯過了排序列表的行。 listOfInts.Sort() –
要按升序和降序
List<int> ints = new List<int>() { 1, 4, 2, 56, 7 };
ints.Sort(); // by asc
ints.Reverse(); //by desc
不太瞭解LINQ排序......不能獲得OS 3.0至正常工作:( – Ben
真的嗎?它是什麼做看上去是錯的? –
OK沒關係謝謝!:) – Ben