Ответ 1
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<int> initializers = new List <int>();
initializers.Add(1);
initializers.Add(3);
чтобы инициализаторы имели 1, 3 значения.
i обработал бы новый набор чисел. инициализаторы должны будут иметь значения.
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);
Вы можете просто использовать List.Insert() вместо List.Add() для вставки элементов в определенную позицию.
Другим подходом, если есть вычислительно жизнеспособный способ сортировки элементов, является:
list.Insert(num);
// ...
list.Insert(otherNum);
// Sorting function. Let sort by absolute value
list.Sort((x, y) => return Math.Abs(x) - Math.Abs(y));