C# ArrayList - Sort() 方法
C# ArrayList 的 Sort() 方法用于对 ArrayList 中的元素或 ArrayList 的一部分进行排序。
语法
以下是 C# ArrayList 的 Sort() 方法的语法 -
此语法将对整个 ArrayList 中的元素进行排序。
public virtual void Sort();
此语法将使用指定的比较函数对整个 ArrayList 中的元素进行排序。
public virtual void Sort(System.Collections.IComparer? comparer);
此语法将使用指定的比较函数对 ArrayList 中一定范围内的元素进行排序。
public virtual void Sort(int index, int count, System.Collections.IComparer? comparer);
参数
此方法根据所有重载方法接受以下参数 -
- comparer:用于比较元素的 IComparer 实现。
- index:待排序范围的起始索引。
- count:待排序范围的长度。
返回值
此方法不返回任何值。其返回类型为 void。
示例 1:对整个 ArrayList 进行排序
以下是使用 Sort() 方法对 ArrayList 中的元素进行排序的基本示例 -
using System;
using System.Collections;
class Program
{
static void Main()
{
ArrayList arrayList = new ArrayList { 3, 2, 5, 1, 4};
Console.Write("Before Sort: ");
foreach (var item in arrayList)
{
Console.Write(item + " ");
}
arrayList.Sort();
Console.Write("After Sort: ");
foreach(var item in arrayList){
Console.Write(item + " ");
}
}
}
输出
以下是输出 -
Before Sort: 3 2 5 1 4 After Sort: 1 2 3 4 5
示例 2:对 ArrayList 中的字符串进行排序
以下示例创建了一个包含一些元素的 ArrayList。然后我们使用 Sort() 方法对 ArrayList 中的元素进行排序 -
using System;
using System.Collections;
class Program
{
static void Main()
{
ArrayList arrayList = new ArrayList {
"The",
"quick",
"brown",
"fox",
"jumps",
"over",
"the"
};
Console.Write("Before Sort: ");
foreach (var item in arrayList)
{
Console.Write(item + " ");
}
arrayList.Sort();
Console.Write("After Sort: ");
foreach(var item in arrayList) {
Console.Write(item + " ");
}
}
}
输出
以下是输出 -
Before Sort: The quick brown fox jumps over the After Sort: brown fox jumps over quick the The
示例 3:使用比较器进行排序
在此示例中,我们有一个 ArrayList,并使用带有比较器的 sort() 方法对 ArrayList 进行降序排序 -
using System;
using System.Collections;
class DesComparer : IComparer
{
public int Compare(object x, object y)
{
return ((int)y).CompareTo((int)x);
}
}
class Program
{
static void Main()
{
ArrayList list = new ArrayList() { 5, 2, 8, 1, 3 };
Console.WriteLine("Before Sorting:");
foreach (var item in list)
{
Console.Write(item + " ");
}
list.Sort(new DesComparer());
Console.WriteLine("After Sorting:");
foreach (var item in list)
{
Console.Write(item + " ");
}
}
}
输出
以下是输出 -
Before Sorting: 5 2 8 1 3 After Sorting: 8 5 3 2 1
示例 4:按范围排序
以下示例展示了如何使用 Sort() 方法中的默认比较器对 ArrayList 中元素范围内的值进行排序 -
using System;
using System.Collections;
public class SamplesArrayList3
{
public static void Main()
{
// 创建并初始化一个新的 ArrayList。
ArrayList myAL = new ArrayList();
myAL.Add("The");
myAL.Add("QUICK");
myAL.Add("BROWN");
myAL.Add("FOX");
myAL.Add("jumps");
Console.WriteLine("ArrayList 最初包含以下值:");
PrintIndexAndValues(myAL);
myAL.Sort(1, 3, null);
Console.WriteLine("使用默认比较器从索引 1 到索引 3 排序后:");
PrintIndexAndValues(myAL);
}
public static void PrintIndexAndValues(IEnumerable myList)
{
int i = 0;
foreach (Object obj in myList)
Console.WriteLine(" [{0}]: {1}", i++, obj);
Console.WriteLine();
}
}
输出
以下是输出 -
ArrayList 最初包含以下值: [0]: The [1]: QUICK [2]: BROWN [3]: FOX [4]: jumps 使用默认比较器从索引 1 到索引 3 排序后: [0]: The [1]: BROWN [2]: FOX [3]: QUICK [4]: jumps

csharp_arraylist.html