我遇到了更复杂模型的错误,但它是List
对象的行为:
List<int> numbers= new List<int>();
numbers[0] = 12; //The error occurs here
Console.WriteLine(numbers[0]);
错误是:
指数超出范围。必须是非负数且小于 集合。
修改
我知道Add()
和Insert()
,但我想知道为什么会发生这种奇怪的错误。
答案 0 :(得分:2)
您正在尝试访问不存在的索引(0),因为您正在初始化空List
。你应该调用Add()
方法。
List<int> numbers= new List<int>();
numbers.Add(12);
Console.WriteLine(numbers[0]);
答案 1 :(得分:1)
您需要在Add
上调用List
方法,如下所示:
numbers.Add(12)
如果您需要使用索引进行访问,则需要填充列表,然后您可以使用numbers[0]
来检索第一个元素。
初始化列表:
List<int> numbers = new List<int>
{
12,
15,
18
};
现在,numbers[1]
将返回15。
答案 2 :(得分:1)
创建新列表时&lt;&gt;对象,它没有任何值,因此没有索引。
这就是为什么在尝试访问列表中的第0个项时遇到错误的原因(如果您了解Java,则会出现IndexOutOfBoundsException)。
使用列表中的Add方法将新项目放入其中,而不是尝试通过索引进行设置。
numbers.Add(12)
此方法将给定值附加到列表的末尾,并为其创建适当的索引。