【问题标题】:Why array do not have add and insert method为什么数组没有添加和插入方法
【发布时间】:2013-12-27 07:49:30
【问题描述】:

查看以下代码块:

string[] _array = new string[] { "a", "b", "c" };
List<string> _listArray = new List<string>() { "a", "b", "c" };

//Why Invalid?
_array.Add("e");
_array.Insert(4, "e");

//Allowed for list.
_listArray.Add("e");
_listArray.Insert(4, "e");

既然ArrayList 都实现了几乎相同的接口并用作对象的集合,那么为什么Array 没有AddInsert 方法

【问题讨论】:

  • 数组是一个固定大小的集合。如果您可以向 Array 添加或删除项目,则大小将会改变并且违反规则。

标签: c# arrays list insert add


【解决方案1】:

几乎是这里的关键。

数组具有固定大小,您不能添加或插入新元素。您可以使用[] array-index 运算符更改现有的。

维数和每个维的长度是在创建数组实例时建立的。这些值在实例的生命周期内无法更改。

来自Array (C# Programming Guide)

数组使用Add 方法实现某些接口,例如ICollection,这一事实并没有改变任何东西。

将数组转换为这些接口之一时要注意的关键是添加、插入或删除元素的成员会抛出 NotSupportedException

来自Array Class (System)

【讨论】:

  • 感谢知识渊博的答案和数组概念。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-22
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多