想问一下这个list中添加元素,为什么不能像数组一样用这种方法:
List<int> list = new List<int>();
int sum = 0;
for (int i = 0; i < 9; i++)
{
sum += i;
list[i] = sum;
}
上面显示:引发的异常:“System.ArgumentOutOfRangeException”(位于 mscorlib.dll 中)
“System.ArgumentOutOfRangeException”类型的未经处理的异常在 mscorlib.dll 中发生
索引超出范围。必须为非负值并小于集合大小。
但是用这种方法就没事了
List<int> list = new List<int>();
int sum = 0;
for (int i = 0; i < 9; i++)
{
list.Add(sum += i);
}
求个解答,多谢
List开始没有长度,你直接List[i]所以会报索引溢出,但是Add方法走的其实就是先增加容量,后增加数据的方式。