本文实例讲述了C#中Arraylist的sort函数用法。分享给大家供大家参考。具体如下:
ArrayList的sort函数有几种比较常用的重载:
1.不带参数
2.带一个参数
public virtual void Sort( IComparer comparer )
参数
comparer
类型:System.Collections.IComparer
比较元素时要使用的 IComparer 实现。
- 或 -
null 引用(Visual Basic 中为 Nothing)将使用每个元数的 IComparable 实现。
示例:
using System;
using System.Collections;
public class SamplesArrayList {
public class myReverserClass : IComparer {
// Calls CaseInsensitiveComparer.Compare with the parameters reversed.
int IComparer.Compare( Object x, Object y ) {
return( (new CaseInsensitiveComparer()).Compare( y, x ) );
}
}
public static void Main() {
// Creates and initializes a new ArrayList.
ArrayList myAL = new ArrayList();
myAL.Add( \"The\" );
myAL.Add( \"quick\" );
myAL.Add( \"brown\" );
myAL.Add( \"fox\" );
myAL.Add( \"jumps\" );
myAL.Add( \"over\" );
myAL.Add( \"the\" );
myAL.Add( \"lazy\" );
myAL.Add( \"dog\" );
// Displays the values of the ArrayList.
Console.WriteLine( \"The ArrayList initially contains the following values:\" );
PrintIndexAndValues( myAL );
// Sorts the values of the ArrayList using the default comparer.
myAL.Sort();
Console.WriteLine( \"After sorting with the default comparer:\" );
PrintIndexAndValues( myAL );
// Sorts the values of the ArrayList using the reverse case-insensitive comparer.
IComparer myComparer = new myReverserClass();
myAL.Sort( myComparer );
Console.WriteLine( \"After sorting with the reverse case-insensitive comparer:\" );
PrintIndexAndValues( myAL );
}
public static void PrintIndexAndValues( IEnumerable myList ) {
int i = 0;
foreach ( Object obj in myList )
Console.WriteLine( \"\\t[{0}]:\\t{1}\", i++, obj );
Console.WriteLine();
}
}
/*
This code produces the following output.
The ArrayList initially contains the following values:
[0]: The
[1]: quick
[2]: brown
[3]: fox
[4]: jumps
[5]: over
[6]: the
[7]: lazy
[8]: dog
After sorting with the default comparer:
[0]: brown
[1]: dog
[2]: fox
[3]: jumps
[4]: lazy
[5]: over
[6]: quick
[7]: the
[8]: The
After sorting with the reverse case-insensitive comparer:
[0]: the
[1]: The
[2]: quick
[3]: over
[4]: lazy
[5]: jumps
[6]: fox
[7]: dog
[8]: brown
*/
希望本文所述对大家的C#程序设计有所帮助。
本文地址:https://www.stayed.cn/item/14472
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我