关闭

C# 排序 List.Sort

590人阅读 评论(0) 收藏 举报

 1.先写一个继承类IComparer,重载比较函数Compare,写自定义的比较方法。例:  

    public class CPointComparer : IComparer<Point>
    {
        public int Compare(Point p1, Point p2)
        {
            if (p1.X > p2.X)
                return 1;
            else if (p1.X < p2.X)
                return -1;
            else if (p1.Y > p2.Y)
                return 1;
            else if (p1.Y < p2.Y)
                return -1;
            else return 0;
        }      
    }
2.以该方法为基础比较,例:        
            Point [] pt = new Point [4];
            pt[0] = new Point(5, 1);
            pt[1] = new Point(2, 2);
            pt[2] = new Point(5, 2);
            pt[3] = new Point(7, 2);
            List<Point> lp = new List<Point>();
            for (int i = 0; i < 4;i++ )
            {
                lp.Add(pt[i]);
            }
            lp.Sort(new CPointComparer());

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:285023次
    • 积分:2689
    • 等级:
    • 排名:第13962名
    • 原创:51篇
    • 转载:95篇
    • 译文:0篇
    • 评论:12条
    文章分类
    最新评论