博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对象数组自定义排序--System.Collections.ArrayList.Sort()
阅读量:4613 次
发布时间:2019-06-09

本文共 1400 字,大约阅读时间需要 4 分钟。

使用System.Collections.ArrayList.Sort()对象数组自定义排序

 

其核心为比较器的实现,比较器为一个类,继承了IComparer接口并实现int IComparer.Compare(Object x, Object y)方法,该方法实现自定义排序的比较方式,可以通过使用不同的比较器对对象数组进行不一样的排序,可以自定义排序的基准字段和排序方式。

比较器的实现如下:

///     /// ArrayList.Sort()比较器,将StateSectionModel按ContiueTime降序排序    ///     public class SSModelSort : IComparer    {        public int Compare(object x, object y)        {            StateSectionModel a = x as StateSectionModel;            StateSectionModel b = y as StateSectionModel;            if (x != null && y != null)            {                return Convert.ToInt32(b.ContinueTime - a.ContinueTime);            }            else            {                throw new ArgumentException();            }        }    }

实体类StateSectionModel(需要排序的)如下:

public class StateSectionModel    {        ///         /// 状态        ///         public int State { get; set; }        ///         /// 开始时间        ///         public string StartTime { get; set; }        ///         /// 结束时间        ///         public string EndTime { get; set; }        ///         /// 状态持续时间        ///         public double ContinueTime { get; set; }    }

使用示例:

ArrayList ArrSSModel = new ArrayList(){    new StateSectionModel(1,"","",5.5),     new StateSectionModel(1,"","",3.5),    new StateSectionModel(1,"","",4.5)};ArrSSModel.Sort(new SSModelSort()); //按持续时间降序排序

 

转载于:https://www.cnblogs.com/xiaomengshan/p/11138650.html

你可能感兴趣的文章
兼容性
查看>>
自动执行sftp命令的脚本
查看>>
转 Merkle Tree(默克尔树)算法解析
查看>>
网络编程基础之socket编程
查看>>
各种浏览器的user-agent和
查看>>
Restful levels
查看>>
Phonegap移动开发:布局总结(一) 全局
查看>>
Java 变参函数的实现
查看>>
Spring重温(四)--Spring自动组件扫描
查看>>
Android设计图(标注、切图)
查看>>
strstr and strpos
查看>>
hash算法与拉链法解决冲突
查看>>
如何使用jQuery判断一个元素是否存在
查看>>
HTML5中的Canvas(颜色)【转载】
查看>>
420. Strong Password Checker
查看>>
用字节流添加内容至txt中
查看>>
手写算式的识别与运算
查看>>
jquery 1.9 1.8 判断 浏览器(IE11,IE8,IE7,IE6)版本
查看>>
Reporting Services 的一些问题
查看>>
利用Redisson实现分布式锁及其底层原理解析
查看>>