Я почти на год опоздал на этот вопрос ... но на всякий случай, если кто-нибудь окажется в положении, аналогичном Матею Забскому, спросите себя:
Можете ли вы использовать Dictionary<Tuple<Type1, Type2, Type3>, List<Type4>>
вместо?
Значительно проще работать, и, учитывая, что хеш-таблицы (т.е. словари) являются O (1) структурами данных с несколько большим постоянным компонентом (даже более того, если вы перейдете на ConcurrentDictionary
), он, вероятно, будет работать быстрее тоже. Он также использовал бы меньше памяти и был бы довольно тривиален для преобразования в ConcurrentDictionary
.
Конечно, если вам нужно перечислить все данные Type2
для данного ключа Type1
, возможно, вам пригодятся вложенные словари. Но является ли это требованием?