我想做
var test = new List< int>(10);
test.Insert(1, 0);
or
test[1] =0;
Run Code Online (Sandbox Code Playgroud)
我对此感到异常.
我怎样才能插入列表?
感谢空间让这个编辑器正确显示事物.
Jus*_*ner 13
var test = new List<int>(10);
test.Add(1);
Run Code Online (Sandbox Code Playgroud)
要么
var test = new List<int>(10);
test.Insert(0, 1) // inserts the value in the first position
Run Code Online (Sandbox Code Playgroud)
UPDATE
我错过了你原来的意图.要做你想做的事,你只需用初始值初始化列表中的每个位置.不那么建议的方式是这样的:
//var test = new List<int>(10){0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
var test = new List<int>(10);
test.AddRange(Enumerable.Repeat(0, 10)); // Thanks to Ahmad
test[3] = 10; // works now
Run Code Online (Sandbox Code Playgroud)
您正在分配一个空列表,其容量可以在重新分配之前容纳10个项目.然后你插入它的中间.这就是它失败的原因.
编辑
你似乎认为它就像一个数组,它实际上分配了十个插槽开始.不是.如果你想要十个插槽,你需要自己添加它们.一旦你这样做,就可以在中间引用位置.
| 归档时间: |
|
| 查看次数: |
2387 次 |
| 最近记录: |