Я смотрю в код позади Dictionary<TKey, TValue>
. Интересно то, что в методе private Insert
есть bucket
, который, кажется, содержит пустые слоты в массиве предварительно заданного размера. Внутри метода Insert
код проверяет, остались ли в корзине какие-либо элементы, и при необходимости изменит размер. Количество добавленных элементов является фактором простого числа. Кроме того, свойства словарной записи хранятся в структуре с хэш-кодом, ключом и значением.
Мой вопрос: какова цель? Это сделано для предотвращения попыток добавить элементы в объект словаря, когда может быть недостаточно памяти?
ПРИМЕЧАНИЕ. Я не хотел вставлять сюда какой-либо код, поскольку для чтения требуется разборка.