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