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 или С++, это правильно?