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.