.Net List <T>插入

Lib*_*cks 1 .net c# list

我想做

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)

  • 最后添加插入,而不是在开头! (2认同)

Ste*_*dit 5

您正在分配一个空列表,其容量可以在重新分配之前容纳10个项目.然后你插入它的中间.这就是它失败的原因.

编辑

你似乎认为它就像一个数组,它实际上分配了十个插槽开始.不是.如果你想要十个插槽,你需要自己添加它们.一旦你这样做,就可以在中间引用位置.