Проверьте, существует ли ключ в NameValueCollection - PullRequest
130 голосов
/ 26 марта 2012

Существует ли быстрый и простой способ проверить, существует ли ключ в коллекции NameValueCollection, не проходя через него?

Ищем что-то вроде Dictionary.ContainsKey () или аналогичное.

Есть много способов решить это, конечно. Просто интересно, может ли кто-нибудь помочь мне почесать мозг?

Ответы [ 12 ]

0 голосов
/ 26 марта 2012

Если размер коллекции невелик, вы можете воспользоваться решением, предоставленным rich.okelly. Однако большая коллекция означает, что создание словаря может быть заметно медленнее, чем просто поиск в коллекции ключей.

Кроме того, если ваш сценарий использования ищет ключи в разные моменты времени, где коллекция NameValueCollection могла быть изменена, создание словаря каждый раз может, опять-таки, выполняться медленнее, чем просто поиск в коллекции ключей.

0 голосов
/ 26 марта 2012

Можно использовать метод Get и проверить для null, так как метод вернет null, если NameValueCollection не содержит указанный ключ.

См. MSDN .

...