2014-03-27 127 views
0

我怎麼排序,從最小到最大,並從大到小一個List<int> {1,4,2,56,7}?我已經嘗試了一些東西,比如排序列表<int>「>」和「<」

List<int> sorted = Listname.Sort(); 

List<int> sorted = Listname.OrderByDescending(); 

,但我不完全理解的語法。

回答

5

你可以使用LINQ:

var smallToLarge = Listname.OrderBy(x => x); 

var largeToSmall = Listname.OrderByDescending(x => x); 

如果你想將它們分配到一個列表,就像在你的問題的代碼示例中,您將有各一個叫.ToList()

+0

不太瞭解LINQ排序......不能獲得OS 3.0至正常工作:( – Ben

+0

真的嗎?它是什麼做看上去是錯的? –

+0

OK沒關係謝謝!:) – Ben

0
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(); 
     } 
    } 
+0

我想我錯過了一個步驟,因爲這只是返回了'1,4,2,56,7'和' 7,56,2,4,1' – Ben

+0

您一定錯過了排序列表的行。 listOfInts.Sort() –

0

要按升序和降序

List<int> ints = new List<int>() { 1, 4, 2, 56, 7 }; 
ints.Sort(); // by asc 
ints.Reverse(); //by desc