当前位置:编程学习 > C#/ASP.NET >>

一个.Sort()排序的方法的调用问题?

还是不会ArrayList怎样用Sort(System.Collendes.Comaprer)排序,说要外接一个ICO...的接口~具体咋弄啊高手们救救小弟吧?3X! --------------------编程问答-------------------- 还有我想排这个ArrayList里面的一个类里的属性,这咋实现? --------------------编程问答-------------------- 很简单。先定义一个带有IComparer接口的类,在里面把Compare这个方法重载了,然后在ArrayList.Sort()里面把这个类的对象加进就是了。
具体例子:

public class DescendingComparer: IComparer
{
   CaseInsensitiveComparer _comparer = new CaseInsensitiveComparer();
   public int Comparer(object x, object y)
   {
      return _comparer(y, x);
   }
}

ArrayList al = new ArrayList();
// add some objects into al
al.Sort(new DescendingComparer());

就行了。
--------------------编程问答-------------------- 如果你那个 arrayList 都是 string,int 什么的不用实现什么只要类型一样就可以了

如果是自己的类型需要实现 IComparer 

VS2005 MSDN
索引:Array.Sort
url:ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref2/html/M_System_Array_Sort_1_6f8a45d6.htm
msdn 网站那搜索:Array.Sort

有列子 --------------------编程问答-------------------- 可是有时候需要特殊排序,譬如降序排列时,在成员是string, int情况下,还是需要重载Comparer方法的。 --------------------编程问答-------------------- 在前面加个负号......... --------------------编程问答-------------------- 你可以看这个帖子,跟你的问题一样,我的答案就使用了这个接口。
http://topic.csdn.net/u/20080123/23/aa844ca2-2132-409c-8f8b-ebfaf13de751.html --------------------编程问答-------------------- --------------------编程问答-------------------- 如果是2.0,就用用泛型的List<T>吧,那个比较要简单的多去了。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,