zoukankan      html  css  js  c++  java
  • 自定义排序方式

    public class Custom_sort: IComparer<string>
    {
    List<string> _strs;
    public Custom_sort(string[] strs)
    {
    _strs = strs.Distinct().ToList();
    }
    public int Compare(string x, string y)
    {
    if (x.Substring(x.Length - 2, 2) == y.Substring(y.Length - 2, 2))
    {
    return _strs.FindIndex(o => o.Equals(x.Substring(0, 2))) - _strs.FindIndex(o => o.Equals(y.Substring(0, 2)));
    }
    var defx = 0;
    var defy = 0;
    var xtrany= int.TryParse(x.Substring(x.Length - 2, 2), out defx);
    var ytrany = int.TryParse(y.Substring(y.Length - 2, 2), out defy);
    if (!xtrany && !ytrany)
    {
    return 0;
    }
    return defx - defy;
    }
    }

    //需要写一个类  实现IComparer该接口的方法

    DataTable dt = new DataTable();
    dt.Columns.Add("Name");
    dt.Rows.Add(new object[] { "SP15", });
    dt.Rows.Add(new object[] { "SU16", });
    dt.Rows.Add(new object[] { "SM16", });
    dt.Rows.Add(new object[] { "AC1d", });
    dt.Rows.Add(new object[] { "AC15", });
    dt.Rows.Add(new object[] { "SM15", });
    dt.Rows.Add(new object[] { "SP16", });
    dt.Rows.Add(new object[] { "SU15", });
    dt.Rows.Add(new object[] { "AC16", });
    //dr.Fill(dt);

    //调用一个Custom_sort类里的一个方法

    //重写IComparer里的方法
    var c = dt.AsEnumerable().OrderBy(o => o.Field<string>("Name"),coustOrder).CopyToDataTable();
    var b = c;

  • 相关阅读:
    第十二周学习进度条
    课堂练习四
    搜狗输入法
    第十一周学习进度条
    《代码大全(第二版)》阅读笔记01
    典型用户及用户场景描述
    第十周学习进度条
    团队冲刺第六天
    团队冲刺第五天
    团队冲刺第四天
  • 原文地址:https://www.cnblogs.com/xiaojian1/p/5542150.html
Copyright © 2011-2022 走看看