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.

