[英]Is there a practical limit to how many times Dictionaries can be embedded within other Dictionaries?
我認為我可以這樣做:
Dictionary<string, <Dictionary<int, int>> targetChapterAdjustments = new Dictionary<string, <Dictionary<int, int>>();
(創建一個以Dictionary為“ Definition”成員的Dictionary)。
但是,這能走多遠?有沒有設定的極限,還是實際的極限?
我可以有一個像這樣的字典:
Dictionary<string, <Dictionary<int, Dictionary<string, <Dictionary<int, Dictionary<bool, <Dictionary<float, Dictionary<string, <Dictionary<int>>>>>>>>>>>>
...例如?
我希望/討厭看到這樣一個班級的樣子。
好吧,LineBacker讓我參與其中; 我嘗試了,但是:
Dictionary<string, <Dictionary<int, Dictionary<string, <Dictionary<int, Dictionary<bool, <Dictionary<float, Dictionary<string, <Dictionary<int>>>>>>>>>>>> funWithDictionaries =
new Dictionary<string, <Dictionary<int, Dictionary<string, <Dictionary<int, Dictionary<bool, <Dictionary<float, Dictionary<string, <Dictionary<int>>>>>>>>>>>>();
...由於多個語法錯誤而失敗。
由LB編輯(抱歉,太大了,無法發表評論)
這段代碼會編譯。 夠您的情況了嗎?
var dict = new Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,Dictionary<string,string>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>();
C#或CLR沒有強制實施任何限制。 您最終會遇到的限制是系統內存,但這將適用於創建任何對象,而不僅僅是嵌套結構。
泛型的設計是合理的,並且無論您提供什么Type參數(假設它們是有效類型)都可以使用。 意味着任何具體類型都可以替換Dictionary<TKey, TValue>
的TKey
和TValue
部分。 我相信預編譯器實際上是在幕后創建一個類,用具體的類型替換其對應的Type參數,因此您要做的只是增加它必須做的工作。 如果要構造一個證明,您會發現對於任何數量的嵌套來說,這種做法都是正確的(理論上,它可以是無限的,當然,您不能在實踐中這樣做)。
如果您只是詢問資源限制,我認為@evanmcdonall的答案是正確的答案,但是如果您關心代碼設計,則應避免使用許多嵌套的字典,因為它們違反了許多OOP的好習慣,例如抽象和OCP。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.