C# 列表如何在两个值之间插入新值
本文关键字:两个 之间 新值 插入 int 列表 | 更新日期: 2023-09-27 18:30:58
所以我有一个列表,我需要不断添加新值,但是当我这样做时,我需要递增它并将其插入两个值之间。
List<int> initializers = new List <int>();
initializers.Add(1);
initializers.Add(3);
因此,初始值设定项将具有 1、3 个值。
然后我会处理一组新的数字。 初始值设定项需要具有这些值。
1, 5, 3, 7
如果我处理另一组数字,它应该变成
1, 9, 5, 13, 3, 11, 7, 15
我知道如何正确生成插入的新值,我只需要一些帮助将其插入初始值设定项的现有值之间,而无需再添加 2 或 3 个循环来移动值的位置。
List<int> initializers = new List <int>();
initializers.Add(1);
initializers.Add(3);
int index = initializers.IndexOf(3);
initializers.Insert(index, 2);
给你 1,2,3。
使用 List<T>.Insert
:
initializers.Insert(index, value);
对于那些正在寻找更复杂的东西(在 2 个值之间插入多个项目,或者不知道如何在列表中找到项目index
)的人来说,答案如下:
正如其他人已经提到的,在 2 个值之间插入一个项目非常容易:
myList.Insert(index, newItem);
由于InsertRange
方法,插入多个项目也很容易:
myList.InsertRange(index, newItems);
最后使用以下代码,您可以在列表中找到项目的索引:
var index = myList.FindIndex(x => x.Whatever == whatever); // e.g x.Id == id
您可以使用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));