C# ArrayList - Clear() 方法

C# ArrayList Clear() 方法用于从 ArrayList 中删除所有元素,相当于将其重置为空状态。

如果 ArrayList 是只读的或大小固定,则此方法可能会抛出 NotSupportedException;调用 Clear 方法将抛出此异常。

语法

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

public virtual void Clear ();

参数

此方法不接受任何参数 -

返回值

此方法不返回任何值。

示例 1

这是使用 Clear() 方法清除 ArrayList 的基本示例 -

    
using System;
using System.Collections;
class Program
{
   static void Main()
   {
      ArrayList arrayList = new ArrayList { "A", "B", "C", "D" };
      
      Console.Write("Before Clear: ");
      foreach (var item in arrayList)
      {
         Console.Write(item + " ");
      }
      
      // 清除 ArrayList
      arrayList.Clear();
      
      Console.WriteLine("After Clear:");
      Console.WriteLine($"Count: {arrayList.Count}");
   }
}

输出

以下是输出 -

Before Clear: A B C D 
After Clear:
Count: 0

示例 2:如果 ArrayList 的大小是固定的会怎样

让我们来看另一个 Clear() 方法的示例。如果 ArrayList 的大小是固定的,那么 clear 方法将抛出"NotSupportedException"异常。-

using System;
using System.Collections;

class Program
{
   static void Main()
   {
      // 创建一个固定大小的 ArrayList
      ArrayList arrayList = ArrayList.FixedSize(new ArrayList { 1, 2, 3 });

      try
      {
         arrayList.Clear();
      }
      catch (NotSupportedException ex)
      {
         Console.WriteLine($"Exception: {ex.Message}");
      }
   }
}

输出

以下是输出 -

Exception: Collection was of a fixed size.

示例 3:清除动态列表

让我们看另一个 Clear() 方法的示例。假设我们正在为用户界面构建一个动态菜单。用户退出后,我们可能需要重置菜单选项 -

using System;
using System.Collections;

class Program
{
   static void Main()
   {
      // 创建并填充表示菜单项的 ArrayList
      ArrayList menuItems = new ArrayList { "Home", "Profile", "Settings", "Logout" };

      Console.WriteLine("Menu Items Before Clear:");
      foreach (var item in menuItems)
      {
         Console.Write(item + " ");
      }

      Console.WriteLine("User logs out...");
      menuItems.Clear();

      Console.WriteLine("Menu Items After Clear:");
      if (menuItems.Count == 0)
      {
         Console.WriteLine("No items available.");
      }
   }
}

输出

以下是输出 -

Menu Items Before Clear:
Home Profile Settings Logout 
User logs out...

Menu Items After Clear:
No items available.

示例 4:清除临时数据缓存

在本例中,我们使用 Clear() 方法。假设我们正在管理表单的用户输入临时缓存。用户提交表单后,需要清除缓存 -

using System;
using System.Collections;
class Program
{
   static void Main()
   {
      ArrayList inputCache = new ArrayList();
      inputCache.Add("Aman kumar");
      inputCache.Add("aman.kumar@gmail.com");
      inputCache.Add("8973454004");

      Console.WriteLine("Temporary Input Cache Before Clear:");
      foreach (var input in inputCache)
      {
         Console.WriteLine(input);
      }

      Console.WriteLine("Form submitted. Clearing cache...");

      // 清除临时输入缓存
      inputCache.Clear();

      //检查缓存是否被清除
      Console.WriteLine("Temporary Input Cache After Clear:");
      if (inputCache.Count == 0)
      {
         Console.WriteLine("Cache is empty.");
      }
      else
      {
         Console.WriteLine("Cache still has data.");
      }
   }
}

输出

以下是输出 -

Temporary Input Cache Before Clear:
Aman kumar
aman.kumar@gmail.com
8973454004

Form submitted. Clearing cache...

Temporary Input Cache After Clear:
Cache is empty.

csharp_arraylist.html