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.