在C#中排序更大的2d数组

时间:2015-05-03 18:32:41

标签: c# arrays linq sorting

我尝试用LINQ命令这个2d数组[10000,150]。我想订购它依赖于第二列。我不能使用一维数组。

namespace test2 {
    class Test {
        public static void Main() {
            string[,] array = new string[,]
            {
                {"cat", "dog"},
                {"bird", "fish"},
            };
            array = array.OrderBy (a => a [1]);
        }
    }
}

但我收到错误: /home/Program.cs(18,18):错误CS0411:方法`System.Linq.Enumerable.OrderBy(此System.Collections.Generic.IEnumerable,System.Func)'的类型参数。无法从使用中推断出来。尝试明确指定类型参数(CS0411)(test2)

如何指定类型参数?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

LINQ函数不适用于多维数组。您可以将其转换为:

string[][] array = new string[][]
{
    new [] {"cat", "dog"},
    new [] {"bird", "fish"},
};

var result = array.OrderBy(a => a[1]);