Какой самый простой способ заполнить пробелы в списке чисел?


У меня возникли некоторые проблемы с объяснением вопроса в одной строке для заголовка, но, надеюсь, это описание предоставит вам достаточно информации, чтобы полностью понять мой вопрос:

У меня есть несколько переменных в документе Word. Каждая переменная имеет Value, которое является числом (начиная от 0 до числа переменных). A SortedDictionary заполняется этими переменными, но возможно, что переменная была удалена раньше, поэтому есть "пробел", так сказать. Пример:

5 переменных добавляются в SortedDictionary<int, string>, где первое число-это int, а строка соответствует string части SortedDictionary.

0 "name 1"
1 "name 2"
2 "name 3"

Теперь одна из переменных удаляется, поэтому словарь заполняется следующим образом:

0 "name 1"
2 "name 3"

В конце концов все записи SortedDictionary добавляются в список, и я использую первое число в качестве индекса для вставки. Вы можете себе представить, что он выдаст ошибку, когда попытается добавить элемент в index 2 Когда index 1 не существует, но index 0 существует.

Способ, которым я хочу решить эту проблему, заключается в том, что когда пользователь вызывает метод DeleteVariable() и переменная удаляется, все переменные должны автоматически обновлять свое значение (число), поэтому, когда SortedDictionary получает все переменные, список больше не выдает ошибку, потому что все числа совпадают (без пробелов).

Пожалуйста, посоветуйте.

1 5

1 ответ:

Я бы использовал список вместо отсортированного словаря. Ваш номер будет указателем в списке. Таким образом, если вы удалите элемент из списка (используя, вероятно, list.RemoveAt(index)), все остальные индексы будут эффективно "обновлены" так, как вы хотели.