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: 少なくとも 1 つのオブジェクトが IComparable System.Collections.Comparer.Compare(Object a, Object b)...... を実装する必要があります。
私に何ができる ?読んでくれてありがとう
編集 :
だから私の最初の間違いは:
class Pays : IComparable<Pays>
それ以外の
class Pays : IComparable
二度目の間違い:
return nomPays.CompareTo(myX.nomPays);