Должен ли я проверить, присутствует ли конкретный ключ в словаре , если я уверен, что он будет добавлен в словарь, когда я получу код для его доступа?
Есть два способа получить доступ к значению в словаре
- проверка метода ContainsKey. Если он возвращает true, я получаю доступ с помощью indexer [key] словарного объекта.
или
- TryGetValue, который вернет значение true или false, а также значение возвращаемого значения через параметр out.
(второй будет работать лучше, чем 1-й, если я хочу получить значение. Benchmark.)
Однако, если я уверен, что функция, которая обращается к глобальному словарю, наверняка будет иметь ключ, тогда я должен по-прежнему проверять использование TryGetValue или без проверки, я должен использовать indexer [].
Или я никогда не должен предполагать это и всегда проверять?