c#中对集合排序

来源:互联网 发布:网络品牌注册 编辑:程序博客网 时间:2024/05/11 00:28

Entity类定义

class Entity   //类似于Individual{        public int dep;  //当前层        public int[] FCN;  //当前解向量          public double interf;   //当前干扰值}

比较类定义

class EntityCompare : IComparer<Entity>{        public int Compare(Entity a, Entity b)          {            return a.interf.CompareTo(b.interf);        }}

定义集合并往集合中添加成员

 List<Entity> lst = new List<Entity>(); Entity e1 = new Entity(); e1.interf = 4; Entity e2 = new Entity(); e2.interf = 6; Entity e3 = new Entity(); e3.interf = 5; lst.Add(e1); lst.Add(e2); lst.Add(e3);

按照interf从小到大排序
排序方式1

lst.Sort(new EntityCompare());foreach (Entity entity in lst)     Console.WriteLine(entity.interf);

排序方式2

lst.Sort((x, y) => x.interf.CompareTo(y.interf));   //=> 是按照的意思foreach (Entity entity in lst)     Console.WriteLine(entity.interf);
0 0
原创粉丝点击