📅  最后修改于: 2023-12-03 14:42:04.575000             🧑  作者: Mango
IList 是一个接口,它是由一组具有相同类型的元素所组成的列表(类似于数组)。这个接口可以被实现用于所有的数据类型。在 .NET Framework 中,有许多种类型的 IList 实现,例如:ArrayList,List
ArrayList 是一个 IList 实现,由一组元素所组成的动态数组。当列表的大小超过其初始容量时,ArrayList 会自动增加其大小。然而,由于 ArrayList 存储的是 object 类型,因此使用时需要进行强制类型转换。以下是 ArrayList 实例化的示例:
ArrayList arrayList = new ArrayList()
{
"a",
"b",
"c"
};
List
List<string> list = new List<string>()
{
"a",
"b",
"c"
};
CollectionBase 是一个抽象类,它提供了对 IList 接口的实现。您可以通过继承 CollectionBase 来创建 IList 派生类。以下是 CollectionBase 实例化的示例:
public class MyList : CollectionBase
{
public string this[int index]
{
get { return (string)List[index]; }
set { List[index] = value; }
}
public void Add(string item)
{
List.Add(item);
}
public void Remove(string item)
{
List.Remove(item);
}
}
BindingList
BindingList<string> bindingList = new BindingList<string>()
{
"a",
"b",
"c"
};
总结:IList 接口提供了一个可扩展的、可通过索引访问的列表,其实现有很多种类型,包括 ArrayList,List