Ну, вы, вероятно, не пишете этот код, потому что Hashtable
использует пары ключ / значение, а не только ключи.
Если выиспользуя .NET 3.5 или выше, я предлагаю вам использовать HashSet<T>
, а затем вы можете просто безоговорочно вызвать Add
- возвращаемое значение будет указывать, действительно ли оно было добавлено или нет.
РЕДАКТИРОВАТЬ: Хорошо, теперь мы знаем, что вы говорите о парах ключ / значение - нет ничего встроенного для условного добавления (ну, есть в ConcurrentDictionary
IIRC, но ...),но если вы готовы перезаписать существующее значение, вы можете просто использовать индексатор:
h[key] = value;
В отличие от Add
, это не вызовет исключения, если для ключа уже есть запись - этоперезапишу.