Какой самый простой способ заполнить пробелы в списке чисел? - PullRequest
5 голосов
/ 29 июня 2010

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

У меня есть несколько переменных в Wordдокумент.Каждая переменная имеет Value, который является числом (от 0 до количества переменных).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 Ответ

7 голосов
/ 29 июня 2010

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

...