菜鸟在程序理解上的疑惑,各位大哥大姐大嫂大大们帮帮忙呗
ArrayList al = new ArrayList();
al.Add("b");
al.Add("a");
al.Add("c");
al.Add("B");
al.Add("A");
al.Add("C");
al.Sort();
for(int i=0;i<al.Count;i++)
Console.WriteLine(al[i]);
al.Sort(new myComparer1());
public class myComparer1 : IComparer
{
int IComparer.Compare(Object x, Object y)
{
return ((new CaseInsensitiveComparer()).Compare(y, x));
}
}
问题:Compare(Object x, Object y)比较X,Y后返回的是什么值,CaseInsensitiveComparer()).Compare(y, x)比较X,Y返回的是什么值,为什么这句是Compare(y, x),上句Compare(Object x, Object y),就是说一句y参数在前,一句Y参数在后,这起到什么作用啊??
------解决方案--------------------x<y,返回-1
x=y,返回0
x>y,返回1
return ((new CaseInsensitiveComparer()).Compare(y, x));里x和y写反表示是此比较用于
降序排练