我有兩組對象,其中在某些情況下,第一組將用作其他組的鍵,而在其他情況下,第二組將用作第一組的鍵。另外,任何一個列表中都不得有重複。雙向字典?
什麼是一個很好的數據結構來使用它?我應該爲此使用兩本詞典還是有更聰明的方法?
我有兩組對象,其中在某些情況下,第一組將用作其他組的鍵,而在其他情況下,第二組將用作第一組的鍵。另外,任何一個列表中都不得有重複。雙向字典?
什麼是一個很好的數據結構來使用它?我應該爲此使用兩本詞典還是有更聰明的方法?
有更好的數據結構知識的人可能會給出更好的建議,但個人而言,我會使用2個字典以方便使用。你可以用1個詞典做同樣的事情,但訪問時間會增加。
編輯:廢話,我只是在寫一些代碼,我會怎麼做的過程中,我看到Falaina登載這是我唯一做的更好了同樣的想法:Getting key of value of a generic Dictionary?
O,很好。接受這個作爲這個問題的答案然後:) – Svish 2009-08-04 14:08:16
那裏有幾個多鍵集合。嘗試:
http://powercollections.codeplex.com/
或
http://www.codeproject.com/KB/recipes/multikey-dictionary.aspx
Wintellect的電源集合可能是一個很好的起點。他們有一個經過測試的MultiDictionary作爲其包裝的一部分。
這通常稱爲雙向映射。如果你不喜歡PowerCollections,這裏有一個自定義的實現:Bidirectional 1 to 1 Dictionary in C#
有一個雙向字典實現由Jon Skeet @ http://stackoverflow.com/questions/255341/getting-key-of-value-of-通用字典#255630。是的,實現這一目標的標準方法是使用2個字典。 – Falaina 2009-08-04 14:02:55