日期:2014-05-17  浏览次数:21130 次

Linq中的OrderBy哪错了?
使用Linq给2个数组合并然后排序,代码如下

int[] arr1 = { 12, 3, 0 };
int[] arr2 = { 3, 4, 1 };
int result = arr1.Union(arr2).OrderBy(x >= x).ToArray();

OrderBy里面的参数报错。
如何修改并解释下为什么,谢谢!
------最佳解决方案--------------------
 int[] arr1 = { 12, 3, 0 };
            int[] arr2 = { 3, 4, 1 };
            int[] result = arr1.Union(arr2).ToArray();
            result = result.OrderBy(T => T).ToArray();
------其他解决方案--------------------
>=   改成  =>


            int[] arr1 = { 12, 3, 0 };
            int[] arr2 = { 3, 4, 1 };
            int[] result = arr1.Union(arr2).OrderBy(x => x).ToArray();

------其他解决方案--------------------
int result = arr1.Union(arr2).OrderBy(x >= x).ToArray();

int result 这是定义一个int型变量, arr1.Union(arr2).OrderBy(x >= x).ToArray()返回一个整数集合,不能将集合赋给int型,可以改为下面这样
int[] result = arr1.Union(arr2).OrderBy(x >= x).ToArray();
------其他解决方案--------------------
原来还有一个错误我没发现 x >= x 应该 x=>x