请按照代码解释我。接口,类

时间:2011-05-19 02:00:10

标签: class interface

我无法理解下面的代码。 具体来说,这行代码

al.Sort(new reverseSort());

代码:

public class reverseSort : IComparer
{
    int IComparer.Compare(Object x, Object y)
    {
        return ((new CaseInsensitiveComparer()).Compare(y, x));
    }
}

ArrayList al = new ArrayList();
        al.AddRange(new string[] { "Hello", "world", "this", "is", "a", "test" });

        al.Sort(new reverseSort());

        foreach (object s in al)
            Console.WriteLine(s.ToString());

输出:

世界 这个 测试 是 你好 甲

1 个答案:

答案 0 :(得分:0)

al.Sort(new reverseSort());

使用自定义比较器al在您的阵列reverseSort上调用Sort,该定义器的定义与默认比较器的排序方式相反