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 排序

解决方案 »

  1.   

    不太会用Sory用linq to object怎么样double[] a1 = { 1, 2, 3 };
                double[] a2 = { 3, 4, 1 };
                double[] a3 = { 5, 6, 2 };
                List<double[]> a = new List<double[]>() { a1, a2, a3 };
                var v = a.OrderBy(d => d.Max()).Last();
      

  2.   

    VS2005没有Linq貌似的确
      

  3.   


    那你就只能循环了,如下  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();
            }
      

  4.   

    嗯 result = a[index];跟我想要的不太一样,自己改了下。谢谢了