2015-11-04 62 views
0

我遇到了我應該使用的LINQ查詢問題。使用LINQ查詢對數組進行排序

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace LinqIntegersDemo.cs 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      int[] nums = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 
      // var sorted = from n in nums orderby n ascending select n; 
      int x = 0; 

      foreach (var n in nums) 
      { 
       Console.Write("Enter an integer >> "); 
       nums[x] = Convert.ToInt32(Console.ReadLine()); 
       ++x; 
      } 
      var sorted = from n in nums orderby n ascending select n; 

      foreach (var n in nums) 
      { 
       Console.WriteLine(n); 
      } 
      Console.ReadLine(); 
     } 
    } 
} 

我已經瀏覽了MSDN和我在那裏看到的代碼片段告訴我,我寫了我的查詢正確。那麼爲什麼數組不按升序排序,這是我需要發生的事情。

+4

二的foreach沒有使用可變的 「排序」 – Measuring

+2

你想的foreach(在排序的變種N) – CooncilWorker

回答

12

因爲你迭代的nums代替sorted

foreach (var n in sorted) 
{ 
    Console.WriteLine(n); 
} 
+0

@Evan你應該接受這個答案 –

+1

@ HakamFostok哈哈。 –

+3

這讓我質疑我作爲程序員的能力...... -.- –