любые основания не использовать словарь
-
27-09-2019 - |
Вопрос
У меня дискуссию с коллегионным работником, лучше ли использовать словарь и повторить его всякий раз, когда набор результатов изменяется или просто использовать Linq Loop по всем элементам в списке каждый раз.
Мы пытаемся сопоставить родительские / дочерние отношения, и я предложил использовать ParentId в качестве словарного ключа, а также значение словаря как пользовательский объект.
Обычно нам потребуется итерации по всем родителям / детям и запустить список.
Есть ли какие-либо причина, почему вы не захотите использовать словарь в этом обстоятельстве? Если да, то что бы вы использовали вместо
Решение
Если вам действительно нужно соблюдать целую коллекцию каждый раз, не будет много (если таковая имеется) выгода Dictionary
. Отказ С другой стороны, если вы иногда должны найти определенные экземпляры их ключами, Dictionary
может быть то, что вам нужно.
Обратите внимание, что даже если вы используете словарь, вы все равно можете просто произойти через список значений при необходимости, для не слишком намного больше «веса», чем итерацией через нормальный List
, Но тогда у вас все еще есть возможности словаря, если это необходимо.
Другие советы
Выступление мудро, это действительно будет зависеть от вашего конкретного применения, поэтому вам придется тестировать.