Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#使用IComparable时出现排序错误_C#_Sorting_Arraylist_Icomparable - Fatal编程技术网

C#使用IComparable时出现排序错误

C#使用IComparable时出现排序错误,c#,sorting,arraylist,icomparable,C#,Sorting,Arraylist,Icomparable,我花了几个小时试图使用IComparable对ArrayList进行排序 请注意,我无法使用IComparer来执行此操作 代码如下: class Pays : IComparable<Pays> { private string nomPays; public string NomPays{get{return nomPays;}set{nomPays = value;}} public int CompareTo(object x) {

我花了几个小时试图使用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();          
    }
}
第二个错误:

return nomPays.CompareTo(myX.nomPays);

您应该使用通用列表而不是
ArrayList

class TestPays
{
    public static List<Pays> LireRemplirPays() { //...blabla
        return uneListe; // Cast here if necessary
    }
    static void Main(string[] args) {
        List<Pays> paysList = LireRemplirPays();
        paysList.Sort();          
    }
}

您应该使用通用列表而不是
ArrayList

class TestPays
{
    public static List<Pays> LireRemplirPays() { //...blabla
        return uneListe; // Cast here if necessary
    }
    static void Main(string[] args) {
        List<Pays> paysList = LireRemplirPays();
        paysList.Sort();          
    }
}

非常感谢你帮助我,非常感谢你帮助我
class TestPays
{
    public static List<Pays> LireRemplirPays() { //...blabla
        return uneListe; // Cast here if necessary
    }
    static void Main(string[] args) {
        List<Pays> paysList = LireRemplirPays();
        paysList.Sort();          
    }
}
public string Nom { get; set; }