【发布时间】:2016-05-05 20:09:31
【问题描述】:
当我使用索引器初始化数组并访问元素时,效果很好:
object[] temp = new object[5];
temp[0] = "bar";
现在我希望 List<T> 也可以使用同样的方法,因为您可以通过将容量传递给构造函数来对其进行初始化:
List<object> temp = new List<object>(5);
temp[0] = "bar";
然而,最后一行会引发以下异常:
索引超出范围。必须是非负数且小于集合的大小
为什么List<T> 类型会发生这种情况,而不是数组?既然数组只是 CLR 集合的低级抽象,那么为什么会出现这个异常呢?
【问题讨论】:
-
你可以找到关于这个问题的所有元讨论over here。
-
@RobertHarvey:谢谢——尽管如此,我还是重新添加了关于原作者的简短评论,因为我不想看起来像一个抄袭者,在不给予信任的情况下复制别人的问题。跨度>
标签: c# arrays list indexoutofrangeexception