有一个二维数组(str[4][1]),数据如下:
name    orderone       3
two       2
three     5
four      1
five      4
我想在程序里面进行排序,得到一下结果:three     5
five      4
one       3
two       2
four      1
请问如何实现该排序?

解决方案 »

  1.   

    public class MyComparer : System.Collections.IComparer
        {
            #region IComparer Members        public int Compare(object x, object y)
            {
                return  Convert.ToInt32(y)-Convert.ToInt32(x);
            }        #endregion
        }
            string[] arr1 = new string[5];
            int[] arr2 = new int[5];        arr1[0] = "one"; arr2[0] = 3;
            arr1[1] = "two"; arr2[1] = 2;
            arr1[2] = "three"; arr2[2] = 5;
            arr1[3] = "four"; arr2[3] = 1;
            arr1[4] = "five"; arr2[4] = 4;        Array.Sort(arr2, arr1, new MyComparer());        for (int i = 0; i < arr1.Length; i++)
            {
                Response.Write(arr1[i].ToString() + ":" + arr2[i].ToString()+"<br>");
            }
      

  2.   

    假设把数组换成DataTable呢,该如何操作?
    模拟数据如下:
    name  loc  dis  ordone    L    Y    3
    two    L    Y    4
    three  L    Y    1
    four   L    Y    5
    five   L    Y    2
    根据ord排序,得到一下结果:four   L    Y    5
    two    L    Y    4
    one    L    Y    3
    five   L    Y    2
    three  L    Y    1这个排序如何在程序里实现呢?
      

  3.   

    DataView dv = DataTable1.DefaultView;
    dv.Sort = "ord DESC";