C# ArrayList - Remove() 方法

C# ArrayList Remove() 方法用于从 ArrayList 中删除或忽略指定对象/元素的首次出现。

如果 ArrayList 不包含指定的对象,则该对象保持不变,并且不会引发异常。此方法执行线性搜索操作;因此,此方法的时间复杂度为 O(n),其中 n 为计数。

语法

以下是 C# ArrayList Remove() 方法的语法 -

public virtual void Remove (object? obj);

参数

此方法接受一个参数 -

  • value:表示将从 ArrayList 中删除的元素。可以为 null。

返回值

此方法不返回任何值。

示例 1:从 ArrayList 中删除一个整数

以下是使用 Remove() 方法从 ArrayList 中删除元素的基本示例 -

using System;
using System.Collections;
class Program
{
   static void Main()
   {
      ArrayList arrayList = new ArrayList { 1, 2, 2, 3, 4 };
      
      Console.Write("Before Remove: ");
      foreach (var item in arrayList)
      {
         Console.Write(item + " ");
      }
      
      // 删除第一次出现的 2
      arrayList.Remove(2);
      
      Console.Write( "After Remove: ");
      foreach (var item in arrayList)
      {
         Console.Write(item + " ");
      }
   }
}

输出

以下是输出 -

Before Remove: 1 2 3 4 
After Remove: 1 2 3 

示例 2:删除对象的第一次出现

让我们看另一个示例,其中我们使用 Remove() 方法从 ArrayList 中删除元素的第一次出现 -

using System;
using System.Collections;
class Program
{
   static void Main()
   {
      ArrayList arrayList = new ArrayList { 1, 2, 2, 3, 4 };
      
      Console.Write("Before Remove: ");
      foreach (var item in arrayList)
      {
         Console.Write(item + " ");
      }
      
      // 删除第一次出现的 2
      arrayList.Remove(2);
      
      Console.Write( "After Remove: ");
      foreach (var item in arrayList)
      {
         Console.Write(item + " ");
      }
   }
}

输出

以下是输出 -

Before Remove: 1 2 2 3 4 
After Remove: 1 2 3 4 

示例 3:从 ArrayList 中移除整数和字符

以下示例创建了一个包含一些元素的 ArrayList。然后我们使用 Remove() 方法从 ArrayList 中移除指定元素。-

using System;
using System.Collections;
class Program
{
   static void Main()
   {
      ArrayList arrayList = new ArrayList { "A", 1, 2, 4, "B", "C", "D" };
      
      Console.Write("Before Remove: ");
      foreach (var item in arrayList)
      {
         Console.Write(item + " ");
      }
      
      // 删除一个字符
      arrayList.Remove("A");
      Console.Write( "After Remove a character: ");
      foreach (var item in arrayList)
      {
         Console.Write(item + " ");
      }
      
      // 删除一个整数
      arrayList.Remove(2);
      Console.Write( "After Remove an integer: ");
      foreach (var item in arrayList)
      {
         Console.Write(item + " ");
      }
   }
}

输出

以下是输出 -

Before Remove: A 1 2 4 B C D 
After Remove a character: 1 2 4 B C D 
After Remove an integer: 1 4 B C D

示例 4:从 ArrayList 中移除与会者

此示例展示了如何追踪活动的参与者以及如何移除已放弃注册的特定与会者 -

using System;
using System.Collections;
class Program
{
   static void Main()
   {
      // 创建一个 ArrayList 来存储活动参与者
      ArrayList attendees = new ArrayList()
      {
         "Akash",
         "Aman",
         "Rahul",
         "Sunny",
         "Aman"
      };

      Console.WriteLine("Initial Attendee List:");
      foreach (var attendee in attendees)
          Console.Write(attendee + " ");

      // 删除第一次出现的"Aman"
      // (如果他取消了注册)
      Console.WriteLine("Removing attendee: Aman");
      attendees.Remove("Aman");

      Console.WriteLine("Updated Attendee List:");
      foreach (var attendee in attendees)
         Console.Write(attendee + " ");

      // 尝试删除不在列表中的人
      Console.WriteLine("Attempting to remove attendee: Vivek");
      attendees.Remove("Vivek");

      Console.WriteLine("Final Attendee List:");
      foreach (var attendee in attendees)
         Console.Write(attendee + " ");
   }
}

输出

以下是输出 -

Initial Attendee List:
Akash Aman Rahul Sunny Aman 
Removing attendee: Aman

Updated Attendee List:
Akash Rahul Sunny Aman 
Attempting to remove attendee: Vivek

Final Attendee List:
Akash Rahul Sunny Aman 

csharp_arraylist.html