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);
}
}
class EntityCompare1 : IComparer<Entity>
{
public int Compare(Entity a, Entity b)
{
if(a.interf < b.interf)
return 1;
return 0;
}
}
定义集合并往集合中添加成员
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);
lst.Sort(new EntityCompare1());
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);