List.Sort (泛型 IComparer) 使用指定的比较器对整个 List 中的元素进行排序。
1. 让Animal实现IComparable接口,实现CompareTo方法(假设以name来排序): class Model : IComparable<Model> { ... public int CompareTo(Model other) { return name.CompareTo(other.name); } } 这样直接调用sort就可以排序 list.Sort(); 2.自己写ICompare比较器: class ModelCompare : IComparer<Model> { public int Compare(Model a, Model b) { return a.name.CompareTo(b.name); } } 这样使用 list.Sort(new ModelCompare());也可以使用 SortedList<key, value> 在Add元素的时候指定一个key,这样SortedList会自动以key的Compare方法进行排序 比如 SortedList<string, Model> sl = new SortedList<string, Model>(); sl.Add("Model1", new Model()); sl.Add("Model2", new Model());
class Model : IComparable<Model>
{
...
public int CompareTo(Model other)
{
return name.CompareTo(other.name);
}
}
这样直接调用sort就可以排序 list.Sort();
2.自己写ICompare比较器:
class ModelCompare : IComparer<Model>
{
public int Compare(Model a, Model b)
{
return a.name.CompareTo(b.name);
}
}
这样使用 list.Sort(new ModelCompare());也可以使用 SortedList<key, value>
在Add元素的时候指定一个key,这样SortedList会自动以key的Compare方法进行排序
比如
SortedList<string, Model> sl = new SortedList<string, Model>();
sl.Add("Model1", new Model());
sl.Add("Model2", new Model());