c#list <int>如何在两个值之间插入新值

gdu*_*ubs 31 c# asp.net list

所以我有一个列表,我需要不断添加新的值,但当我这样做,我需要增加它,并将其插入两个值之间.

List<int> initializers = new List <int>();

initializers.Add(1);
initializers.Add(3);
Run Code Online (Sandbox Code Playgroud)

所以初始化程序将有1,3个值.

然后我会处理一组新的数字.初始值设定项需要具有值.

1,5,3,7

如果我处理另一组数字,它应该成为

1,9,5,13,​​3,11,7,15

我知道如何正确生成插入的新值,我只需要一些帮助,将它插入到初始化器的现有值之间,而不必添加2或3个循环来移动值的位置.

Phi*_*hil 52

List<int> initializers = new List <int>();

initializers.Add(1);
initializers.Add(3);

int index = initializers.IndexOf(3);
initializers.Insert(index, 2);
Run Code Online (Sandbox Code Playgroud)

给你1,2,3.

  • 改变了正确的答案,因为这个更详细. (3认同)

Gra*_*mas 17

用途List<T>.Insert:

initializers.Insert(index, value);
Run Code Online (Sandbox Code Playgroud)


Meh*_*ani 5

对于那些正在寻找更复杂的东西(在两个值之间插入多个项目,或者不知道如何查找index列表中的项目)的人,答案如下:

在两个值之间插入一项非常简单,正如其他人已经提到的:

myList.Insert(index, newItem);
Run Code Online (Sandbox Code Playgroud)

插入多个项目也很容易,这要归功于以下InsertRange方法:

myList.InsertRange(index, newItems);
Run Code Online (Sandbox Code Playgroud)

最后使用以下代码您可以找到列表中项目的索引:

var index = myList.FindIndex(x => x.Whatever == whatever); // e.g x.Id == id
Run Code Online (Sandbox Code Playgroud)