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

C#中list.Sort()自定义排序问题
List<double[]> a = new List<double[]>();
a中元素为
double[] a1={{1},{2},{3}};
double[] a2={{3},{4},{1}};
double[] a3={{5},{6},{2}};

想找到a中第三个元素最小的那个数组,并将该数组提取出来(即复制给另一个给定的数组)。
C#?list? 排序

------解决方案--------------------
引用:
Quote: 引用:

你自己写个循环不的了

好吧  以为vs2005里面有直接能用的
写个扩展方法
------解决方案--------------------

那你就只能循环了,如下

  static void Main(string[] args)
        {
            double[] a1 = { 1, 2, 3 };
            double[] a2 = { 3, 4, 1 };
            double[] a3 = { 5, 6, 2 };
            List<double[]> a = new List<double[]>() { a1, a2, a3 };
            int index= 0;
            double[] result;
            for (int i = 1; i < a.Count; i++)
            {
                if (a[i - 1][2] < a[i][2])
                {
                    index = i - 1;
                }
                else
                {
                    index = i;
                }
            }
            result = a[index];
            Console.ReadKey();
        }