C# ArrayList - Reverse() 方法
C# ArrayList 的 Reverse() 方法用于反转整个 ArrayList 或部分 ArrayList 中元素的顺序。
语法
以下是 C# ArrayList 的语法: Reverse() 方法 -
该方法反转整个 ArrayList 中元素的顺序。
public virtual void Reverse();
该方法反转指定范围内元素的顺序。
public virtual void Reverse (int index, int count);
参数
此方法接受单个参数 −
- index:要反转范围的起始索引,从零开始。
- count:要反转范围的元素数量。
返回值
此方法不返回任何值。
示例 1:反转整个 ArrayList
以下是 Reverse() 方法的基本示例,用于反转整个 ArrayList 中元素的顺序。−
using System;
using System.Collections;
class Program
{
static void Main()
{
ArrayList arrayList = new ArrayList { 1, 2, 2, 3, 4 };
Console.Write("Original ArrayList: ");
foreach(var item in arrayList)
{
Console.Write(item + " ");
}
// 反转整个 ArrayList
arrayList.Reverse();
Console.Write( "Reversed ArrayList: ");
foreach (var item in arrayList)
{
Console.Write(item + " ");
}
}
}
输出
以下是输出 -
Original ArrayList: 1 2 2 3 4 Reversed ArrayList: 4 3 2 2 1
示例 2:反转范围内元素的顺序
让我们看另一个示例,其中我们使用 Reverse() 方法反转范围内元素的顺序,从起始索引到 ArrayList 中的元素数量 -
using System;
using System.Collections;
class Program
{
static void Main()
{
ArrayList arrayList = new ArrayList { 1, 2, 3, 4, 5, 6, 7 };
Console.Write("Initial arrayList: ");
foreach (var item in arrayList)
{
Console.Write(item + " ");
}
// 反转总共 3 个元素
// 从索引 2 开始
arrayList.Reverse(2, 3);
Console.Write( "Reveresed ArrayList: ");
foreach (var item in arrayList)
{
Console.Write(item + " ");
}
}
}
输出
以下是输出 -
Initial arrayList: 1 2 3 4 5 6 7 Reveresed ArrayList: 1 2 5 4 3 6 7
示例 3:反转自定义对象
以下示例创建一个自定义对象,然后使用 Reverse() 方法反转 ArrayList 中名称的顺序 -
using System;
using System.Collections;
class Person
{
public string Name { get; set; }
public Person(string name)
{
Name = name;
}
public override string ToString()
{
return Name;
}
}
class Program
{
static void Main()
{
// 创建 Person 对象的 ArrayList
ArrayList people = new ArrayList()
{
new Person("Aman"),
new Person("Kumar"),
new Person("Gupta")
};
Console.WriteLine("Original List of People:");
foreach (Person person in people)
Console.Write(person + " ");
people.Reverse();
Console.WriteLine("List of People after reversing:");
foreach (Person person in people)
Console.Write(person + " ");
}
}
输出
以下是输出 -
Original List of People: Aman Kumar Gupta List of People after reversing: Gupta Kumar Aman
示例 4:如果范围超出 ArrayList 的边界会怎样?
如果范围超出 ArrayList 的边界,以下示例将抛出"ArgumentException"异常 -
using System;
using System.Collections;
class Program
{
static void Main()
{
ArrayList arrayList = new ArrayList { 1, 2, 3, 4, 5, 6, 7 };
// 反转总共 5 个元素
// 从索引 3 开始
arrayList.Reverse(3, 5);
Console.Write( "Reveresed ArrayList: ");
foreach (var item in arrayList)
{
Console.Write(item + " ");
}
}
}
输出
以下是输出 -
Unhandled Exception: System.ArgumentException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.

csharp_arraylist.html