любая причина не использовать словарь - PullRequest
1 голос
/ 28 октября 2010

У меня была дискуссия с коллегой о том, лучше ли использовать словарь и заполнять его всякий раз, когда изменяется набор результатов, или просто использовать цикл linq для всех элементов списка каждый раз.

Мы пытаемся отобразить отношения родитель / потомок, и я предложил использовать ParentID в качестве ключа словаря и значение словаря в качестве пользовательского объекта.

Обычно нам нужно будет перебрать всех родителей / потомков и запустить список.

Есть ли причина, по которой вы не захотите использовать словарь в таких обстоятельствах? если так, что бы вы использовали вместо

Ответы [ 2 ]

1 голос
/ 28 октября 2010

Если вам действительно нужно перебирать всю коллекцию каждый раз, не будет большой (если таковая имеется) выгоды от наличия Dictionary. С другой стороны, если вам иногда нужно найти конкретные экземпляры по их ключам, Dictionary может быть тем, что вам нужно.

Обратите внимание, что даже если вы используете Словарь, вы все равно можете просто перебирать список значений, когда это необходимо, для не слишком большого «веса», чем итерация по обычному List, но тогда вы все равно будете иметь Словарь возможностей, при необходимости.

1 голос
/ 28 октября 2010

Производительность мудрая, она действительно будет зависеть от вашего конкретного приложения, поэтому вам придется тестировать.

...