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