C#List.Insert缺少一些索引

C#List.Insert缺少一些索引,c#,list,insert,C#,List,Insert,我有一个名为stringList的列表。我试图在列表中插入一些字符串。首先,我使用for循环为我的内容生成“空白位置” for (int i = 0; i < 60; i++) { stringList.Add(null); } 对不起,我说的是英语。因为方法Insert()实际上是“Insert”元素。让我解释一下 假设下面是一个列表 1 2 3 如果在2中插入元素4,结果如下: 1 2 4 3 这是您的错误。将在给定索引处向列表

我有一个名为
stringList
列表。我试图在列表中插入一些字符串。首先,我使用for循环为我的内容生成“空白位置”

for (int i = 0; i < 60; i++)
        {
            stringList.Add(null);
        }
对不起,我说的是英语。

因为方法Insert()实际上是“Insert”元素。让我解释一下

假设下面是一个列表

1 2 3

如果在2中插入元素4,结果如下:

1 2 4 3

这是您的错误。

将在给定索引处向列表中添加一个元素,并移动以下所有元素

在插入
null
元素时,您可能只想设置一个给定的索引。如果是,请改用以下语法:

stringList[3] = reader["speed"]; // etc
但是,正如您预先知道所需的容量一样,最好只使用一个简单的数组,这样您就不必使用空项初始化列表:

var stringList = new string[60];
然后使用相同的语法(
stringList[i]=which;
)填充它

如果必须使用
列表
(例如,如果以后要添加其他元素),则至少要使用允许预先分配一些空间的:

var stringList = new List<string>(60);
var stringList=新列表(60);
var stringList = new List<string>(60);