前言
对于一个交错数组,不能直接调用Array.Sort();方法对数组内的另一个数组排序。因此若遇到只根据内部数组一个元素来对整个交错数组排序可以使用C#的匿名函数。笔者初学,很多语法不了解,若有错误恳请指正。
建立测试数据
int[][] list = new int[][] { new int[] { 1, 2 }, new int[] { 2, 3 }, new int[] { 5, 6 }, new int[] { 1, 11 } };
排序代码
Array.Sort(list, (x, y) => y[0].CompareTo(x[0]));
原理
C#中的匿名函数不需要声明,按照(par1,par2)=>par1[0].CompareTo(par2[0])
即可声明一个匿名函数。其中左侧括号代表输入参数,箭头右侧代表函数体。这里的含义是,比较两个输入数组的第一个元素。如上所示会得到一个升序排列的数组,若在函数参数中颠倒x,y则可以得到降序排列的数组。