Точка, в каком словарном поиске работает лучше, чем список?C#

Место общения программистов C#
Ответить
Anonymous
 Точка, в каком словарном поиске работает лучше, чем список?

Сообщение Anonymous »

Все знают, что когда мы хотим найти один элемент в коллекции, основанный на некотором значении ключа, что словарь/хэшсет и т. Д. - самые быстрые варианты, доступные в C#. Но, очевидно, они полагаются на настройку ведер и вызов функции хэш на любом значении ключа, используемом в качестве аргумента для поиска - оба из которых имеют некоторые накладные расходы. />
Есть статья по адресу http://www.dotnetperls.com/dictionary-time, которая предполагает, что эта порога-это три элемента . Честно говоря, я удивлен, что словарь работает лучше с таким небольшим количеством предметов! Мне также любопытно, что необходимо для создания словаря и списка - которое приведенное выше статья (и, честно говоря, в большинстве ситуаций вставки /тяжелой чтения, которые мы использовали бы словарь для его, вероятно, неактуального - но в некоторых случаях это может быть важным фактором в решении, который можно использовать). Или больше значений) тогда почему это так? В примере, расположенном в статье, используются струнные клавиши - есть ли гораздо большие затраты на производительность для оператора равенства строкости по умолчанию/i Iequatable, чем я понимаю? Всегда ли в словарю обращается в реализации ключа во время поиска - или только в случае хэш -столкновения?

Подробнее здесь: https://stackoverflow.com/questions/221 ... -than-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»