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

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

List initializers = new List (); initializers.Add(1); initializers.Add(3); 

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

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

1,5,3,7

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

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

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

 List initializers = new List (); initializers.Add(1); initializers.Add(3); int index = initializers.IndexOf(3); initializers.Insert(index, 2); 

给你1,2,3。

使用List.Insert

 initializers.Insert(index, value); 

您可以使用List.Insert()而不是List.Add()在特定位置插入项目。

另一种方法是,如果有一种计算可行的方法对元素进行排序,则:

 list.Insert(num); // ... list.Insert(otherNum); // Sorting function. Let's sort by absolute value list.Sort((x, y) => return Math.Abs(x) - Math.Abs(y));