2012-01-03 2 views
-3

Я планирую создать класс, представляющий таблицу html, проблема в том, что она должна содержать 3+ измерения, одно измерение будет шириной, конечно же, длина так:C# Многоуровневый словарь на основе класса

foo1:bar1 
foo1:bar2 
foo2:bar1 
foo2:bar2 

etc. 

Теперь я созерцая, как представить это в моем классе, моя идея состоит в том, чтобы использовать словарь многоуровневый, то есть тот, который может быть проиндексирован как это: myDict[fooKey][barKey][...], является то, что хорошая идея? Является ли это возможным? Как?

Могу ли я позволить пользователю класса дать ему любой словарь вместе с глубиной int, а затем применить к словарю при использовании класса внутри?

Редактировать: Похоже, я был немного неясен, существует практический предел глубины, но я бы предпочел кодировать его для любой глубины, глубина должна быть задана пользователем этого класса.

+2

Когда ты скажем * многоуровневый словарь * вы имеете в виду что-то вроде словаря > '? Этот вопрос непонятен. – Yuck

+0

Есть ли ограничения на глубину? – BlueMonkMN

+0

Похоже, вы пытаетесь найти эквивалент C# для класса STM 'multimap' в C++. [Здесь] (http://www.dotnetperls.com/multimap) - достойная реализация от dotnetperils. –

ответ

0

вы можете использовать словарь с типом ключа словаря ...

так что вы можете сказать:

Dictionary<string, Dictionary < string, string>> x; 

и использовать его как уже упоминалось о вас ..

x["asdf"]["asdf"] = "asdf"; 
Смежные вопросы