我尝试了几个小时使用 IComparable 对 ArrayList 进行排序......
请注意,我不能使用 IComparer 来执行此操作。
这是代码:
class Pays : IComparable<Pays>
{
private string nomPays;
public string NomPays{get{return nomPays;}set{nomPays = value;}}
public int CompareTo(object x)
{
Pays myX = (Pays)x;
return string.Compare(this.nomPays, x.nomPays);
}
}
class TestPays
{
public static ArrayList LireRemplirPays(){ //...blabla
return uneListe;
}
static void Main(string[] args){
ArrayList paysList = LireRemplirPays();
paysList.Sort();
}
}
错误粘贴:System.ArgumentException: 至少一个对象必须实现 IComparable System.Collections.Comparer.Compare(Object a, Object b)......
我能做些什么 ?谢谢阅读
编辑 :
所以我的第一个错误是:
class Pays : IComparable<Pays>
代替
class Pays : IComparable
第二个错误:
return nomPays.CompareTo(myX.nomPays);