C# ArrayList - FixedSize() 方法
C# ArrayList 的 FixedSize() 方法用于为现有 ArrayList 创建一个包装器,并固定其大小。这意味着我们可以修改(更新)ArrayList,但不能添加或删除其中的元素。
语法
以下是 C# ArrayList 的 FixedSize() 方法的语法 -
FixedSize(System.Collections.ArrayList list);
参数
此方法接受一个需要以固定大小包装的 ArrayList。
返回值
此方法返回一个固定大小的 ArrayList 包装器。
示例 1:将 ArrayList 包装为固定大小
以下是使用 FixedSize() 方法将 ArrayList 包装为固定大小的基本示例 -
using System; using System.Collections; class Program { static void Main() { ArrayList list = new ArrayList() { 1, 2, 3, 4, 5 }; // 创建固定大小的包装器 ArrayList fixedList = ArrayList.FixedSize(list); Console.WriteLine("Original List:"); foreach (var item in fixedList) { Console.Write(item + " "); } Console.WriteLine(); // 修改现有元素 fixedList[2] = 10; Console.WriteLine("After modifying an element:"); foreach (var item in fixedList) { Console.Write(item + " "); } Console.WriteLine(); } }
输出
以下是输出 -
Original List: 1 2 3 4 5 After modifying an element: 1 2 10 4 5
示例 2:向固定大小的 ArrayList 添加元素
以下示例尝试向固定大小的 ArrayList 添加元素。因此,我们收到"collection was a fixed size(集合大小固定)"异常,因为我们无法在固定大小的 ArrayList 中添加元素 -
using System; using System.Collections; class Program { static void Main() { ArrayList list = new ArrayList() { 1, 2, 3, 4, 5 }; // 创建固定大小的包装器 ArrayList fixedList = ArrayList.FixedSize(list); Console.WriteLine("Original List:"); foreach (var item in fixedList) { Console.Write(item + " "); } Console.WriteLine(); // 尝试添加元素 try { fixedList.Add(6); } catch (NotSupportedException e) { Console.WriteLine("Exception: " + e.Message); } } }
输出
以下是输出 -
Original List: 1 2 3 4 5 Exception: Collection was of a fixed size.
示例 3:从固定大小的 ArrayList 中删除元素
以下示例尝试从固定大小的 ArrayList 中删除元素。因此,我们收到"集合大小固定"异常,因为我们无法从固定大小的 ArrayList 中删除元素 -
using System; using System.Collections; class Program { static void Main() { ArrayList list = new ArrayList() { 1, 2, 3, 4, 5 }; // 创建固定大小的包装器 ArrayList fixedList = ArrayList.FixedSize(list); Console.WriteLine("Original List:"); foreach (var item in fixedList) { Console.Write(item + " "); } Console.WriteLine(); // 尝试删除一个元素 try { fixedList.RemoveAt(2); } catch (NotSupportedException e) { Console.WriteLine("Exception: " + e.Message); } } }
输出
以下是输出 -
Original List: 1 2 3 4 5 Exception: Collection was of a fixed size.