string chan = "@F0AFF2550@C0ACC2210@Y0AYY1700@B0A901030@H0A851450@K0A801360@L0A751280@M0A701190";
 string[] arr = chan.Split(new string[] { "@" }, StringSplitOptions.RemoveEmptyEntries);
如何实现后四位的最小值到大排序显示B0A901030,M0A701190......在DATAGRID里面?
DATAGRID里面显示如下
B0A901030
M0A701190
K0A801360
H0A851450
......

解决方案 »

  1.   


    //截取自字符串
            string.substring(4,4);
    //装换类型 排序
      

  2.   

    昨天程序的输出:
    B0A901030
    M0A701190
    L0A751280
    K0A801360
    H0A851450
    Y0AYY1700
    C0ACC2210
    F0AFF2550
      

  3.   


            public class MyComparer : IComparer
            {
                public int Compare(object x, object y)
                {
                    int a = Convert.ToInt32(x.ToString().Substring(5));
                    int b = Convert.ToInt32(y.ToString().Substring(5));
                    if (a > b)
                        return 1;
                    else if (a < b)
                        return -1;
                    else
                        return 0;            }
            }
                string chan = "@F0AFF2550@C0ACC2210@Y0AYY1700@B0A901030@H0A851450@K0A801360@L0A751280@M0A701190";
                string[] arr = chan.Split(new string[] { "@" }, StringSplitOptions.RemoveEmptyEntries);            Array.Sort(arr, new MyComparer());
                DataTable dt = new DataTable();
                dt.Columns.Add(new DataColumn("ID",typeof(string)));            foreach(string s in arr)
                {
                    DataRow dr = dt.NewRow();
                    dr["ID"] = s;
                    dt.Rows.Add(dr);
                }            dataGridView1.DataSource = dt;
      

  4.   

    可以放到ArrayList中,调用SORT方法