В чем тайный смысл того, что у SortedList есть свойство Capacity, а у Hashtable — нету.
Ведь насколько я понял это почти классы-близнецы.
Как и Hashtable, SortedList является реализацией абстракции «словарь» (IDictionary)...
Здравствуйте, VBez, Вы писали:
VB>В чем тайный смысл того, что у SortedList есть свойство Capacity, а у Hashtable — нету.
Вот так вот реализована она. Возможно логика была такой: "рехэш слишком дорогое удоволсьвие чтобы инициировать его вручную."
VB>Ведь насколько я понял это почти классы-близнецы.
VB>VB>Как и Hashtable, SortedList является реализацией абстракции «словарь» (IDictionary)...
Не совсем. Реализация у них координально разная. SortedList реализован на базе отсортированного массива, а Hashtable на базе однименного алгоритма. Причем я бы очень не советовал использовать SortedList вообще. Больно сильно тормозит. В этом же номере есть статья про реализацию Б-дерева/двухуровневого массива. Вот ее вместо SortedList очень эффективно применять.
... << RSDN@Home 1.1.3 beta 2 >>
Здравствуйте, VBez, Вы писали:
VB>VB>SortedList
VB>...
VB>Как и Hashtable, SortedList является реализацией абстракции «словарь» (IDictionary), но, в отличие от хэш-таблицы, поддерживает упорядоченность данных. Достигается это за счет хранения ключей и данных в двух отсортированных массивах.
VB>...
VB>Что значат выделенные слова?
Так читать нужно все предложение целиком.

Попробую префразировать.
SortedList реализован на базе двух отсортированных массивов... Отсюда и стоит делать выводы о скоростных харктиристиках.
... << RSDN@Home 1.1.3 beta 2 >>
Здравствуйте, orangy, Вы писали:
O>На будущее — типы значений возвращаемые энумератором обычно (но не всегда) совпадают с типом индексера. В частности у BitArray имеется:
O>O> public bool this[int index]
O>
O>Главное исключение из этого правила — Dictionary, его энумератор возвращает DictionaryEntry.
Ну, ему по другому кикак. На он и словарь.
А универсальным советом сдесь как всегда является просмотр исходников из Ротора или декомпиляция. Собственно при написании статьи эти два источника были использованы довольно интенсивно.
... << RSDN@Home 1.1.4 beta 2 >>
Здравствуйте, Чистяков Владислав (VladD2), Вы писали:
ЧВV>Статья:
ЧВV>Коллекции в .NET Framework Class LibraryАвтор(ы): Владислав Чистяков (VladD2)
Дата: 24.06.2004
Рассказ о коллекциях в .NET Framework. Статья будет полезна как начинающим программистам, так и желающим более подробно изучить этот вопрос.
ЧВV>Авторы:
ЧВV> Чистяков Владислав (VladD2)
ЧВV>Аннотация:
ЧВV>Рассказ о коллекциях в .NET Framework. Статья будет полезна как начинающим программистам, так и желающим более подробно изучить этот вопрос.
Статья хорошая, спасибо.
Один глюк нашел в статье: В программульке, которая считает слова, не учитывается последнее слово. Из цикла выходим, не проверив, заполнен ли наш StringBuilder. Это так, на всякий случай, может книгу по мотивам напишут
Кроме всего прочего, необходимо заметить, что для создания массива необходимо жестко задать его размер. В дальнейшем размер массива изменен быть не может. Причем, как уже говорилось выше, языками, входящими в .NET, поддерживаются только массивы с верхней границей, равной нулю. Массивы с верхней границей, отличной от нуля, поддерживаются только на уровне runtime-а, методами класса Array.
"верхней" -> "нижней"?