Hashtable против Словаря

Я понимаю, что словарь не имеет проблем с боксом и быстрее в производительности. Существуют ли случаи, когда использование Hashtable было бы более целесообразным по сравнению с Dictionary? Благодаря

Ответы

Ответ 1

Для .Net 2.0 вы почти всегда хотите Словарь. Однако следует предупредить, что это не просто "замена" существующей Hashtable. Есть некоторые отличия в том, как они работают (в основном, как они обрабатывают нули), что означает, что вам нужно сначала проверить свой код.

Ответ 2

Hashtable довольно устарел. Это может быть полезно для взаимодействия с устаревшим кодом.

Dictionary - это общий класс, введенный в .NET 2.0, наряду с другими классами в пространстве имен System.Collections.Generic. Они заменяют классы в пространстве имен System.Collections.

Ответ 3

Основное преимущество HashTable заключается в том, что вы можете использовать его и нацеливать .NET < 2.0.

В противном случае словарь < T, Y > (используется правильно) во всех отношениях значительно лучше.

Ответ 4

Вот что я знаю

1) Словарь хранит в парах значений ключа 2) Hastable также хранит в парах значений ключей, но использует хэш-ключ для проверки содержимого.

Итак, если бы я решил, что использовать, должен ли я использовать хеш-таблицу, если моя коллекция огромна, и я хочу найти определенный элемент? И использовать словарь, если коллекция не так огромна?

Также вопрос о следующем вопросе: в С#, hastable не делает цепочку, как в c или С++, это правильно?