我创建了一个列表作为类级别字段,如下所示:
private readonly IList<int> _intCol = new List<int>();
然后我将其编入索引,并且会出现以下异常:
_intCol[0] = 0;
例外:
指数超出范围。必须是非负数且小于 collection.Parameter name:index
答案 0 :(得分:6)
此时,_intCol
是大小为0的列表,它在第一个位置没有元素。
您可以使用_intCol.Add(0);
。
另见:
如果您确实希望以这种方式插入元素,可以使用Dictionary<int,int>
,但请注意您的元素不是有序的 - 您只需将数字映射到数字。例如:
Dictionary<int, int> integers = new Dictionary<int, int>();
integers[0] = 13;
integers[42] = 14;
integers
现在有两个项目,没有特别的顺序:
{42: 14, 0: 13}
答案 1 :(得分:2)
如果您没有使用任何元素填充列表,那么尝试引用元素0将会失败。您应首先检查Count,而不是引用任何大于Count-1的元素索引。