使用LINQ查询对数组进行排序

时间:2015-11-04 15:29:51

标签: c# arrays linq sorting

我无法使用我应该使用的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,我在那里看到的片段告诉我,我正确地写了我的查询。那么为什么数组没有按升序排序,这就是我需要发生的事情。

1 个答案:

答案 0 :(得分:12)

因为您正在重复nums而不是sorted

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