C # Каков наилучший способ получить индекс объекта в OrderedDictionary? - PullRequest
2 голосов
/ 06 октября 2010

В моем OrderedDictionary я хочу заменить объект. Я видел, что у OrderedDictionary есть метод с именем Insert(). Поэтому я подумал, что когда я получу индекс объекта, который я хочу заменить, я удаляю этот объект с помощью RemoveAt(), а затем вставляю новый объект с помощью метода Insert().

Но ... мне нужно выяснить, каков индекс объекта, который я хочу заменить. Должен ли я просто использовать цикл for или есть лучший способ?

Некоторая справочная информация: этот фрагмент кода помещается в метод. И метод может вызываться несколько раз в цикле for в другом методе.

1 Ответ

2 голосов
/ 06 октября 2010

Если вы знаете ключ целевой записи, вы можете сделать это так:

myOrderedDictionary["keyToReplace"] = "modifiedValue";

В противном случае вам придется выполнить цикл, чтобы определить местонахождение цели перед ее заменой.

Если у вас есть только целевой объект в руках, вы можете получить его индекс, просматривая поле Values, но имейте в виду, что здесь допустимы дубликаты (хотя не в Keys).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...