使用随机索引将项目插入到列表<T>中

Reg*_*ser 0 .net c#

我有这个代码:

List<string> list = new List<string>(30);

list.Insert(1, "string 1");
list.Insert(10, "string 10");
list.Insert(5, "string 5");
Run Code Online (Sandbox Code Playgroud)

运行时在sting 10上崩溃,异常Index必须在List的范围内

我无法理解的是,我已经定义了一个包含30个项目的列表,那么为什么会崩溃,如果我不能以这种方式添加项目,那么定义30的重点是什么?

Sim*_*Var 5

初始化时列表仍为空.参数"30"表示它只有30个项目的容量.

如果您坚持使用列表而不是数组,则必须首先添加30个项目,然后可以使用适当的索引设置它们.

最简单的方法是:

List<string> list = new string[30].ToList();

list[1] = "string 1";
list[10] = "string 10";
list[5] = "string 5";
Run Code Online (Sandbox Code Playgroud)

另请注意,当您使用时Insert,它基本上会将Add项目转换为某个索引,因此列表中的项目数量会增加.