在.NET中是否有雙字節字典可有效存儲鍵/值對,其中鍵和值都是不同的,因此可以使用雙映射(即TryGetValue/TryGetKey)?幼稚的方法將是有兩個內部字典:一個鍵值和一個值鍵字典,但這在內存方面效率不高。在C#中的單詞本字典/地圖
3
A
回答
0
爲什麼這在內存方面沒有效率?除非你只有64MB內存,否則對大多數(甚至是大型表格)來說都不是問題。如果它變得太大,那麼你應該真正考慮使用適當的數據庫引擎。
5
我不相信在.NET中有一個。根據鍵/值類型的不同,我不確定使用兩個字典很可能會導致效率損失的很大一部分:這是我看到問題之前要做的事情,因爲它很簡單。
事實上,它的很簡單,因爲我已經在另一個堆棧溢出答案中實現它。我去看看我能找到它......
編輯:我發現了兩個:
- One of mine
- Another based on mine,但更全面的刪除等
0
如果開發存儲在字典中的值是對象類型,唯一的內存開銷將是字典對象本身的內存開銷。
2
基本上你想要2套引用相同的二進制元素。您將始終具有對這兩個元素的引用的開銷,但是您會有這種方式。每一組都需要一個不同的比較器,但這沒有多少開銷。由於您引用的是同一個元素,因此在兩個集合中都沒有2個副本。
0
可以很容易地 「炫」 鍵和值。
var source = GetSomeDictionary();
var opposite = source.ToDictionary(x => x.Value, x => x.Key)
這是效率不高的內存
非常明確,如果你發現你真的不能舉行第二字典...然後在需要的時候可以生成它。這具有不需要維護兩個字典的額外好處。
但最有可能的是,你可以拿着第二本字典 - 並且想要爲了節省時間。
相關問題
- 1. C#詞典中的字典
- 2. C字典/地圖
- 3. C#字典地圖
- 4. 在django站點地圖的站點地圖字典中添加拆分詞典
- 5. PyEnchant將字典中的單詞「糾正」爲不在字典中的單詞
- 6. Nhunspell C#將單詞添加到字典
- 7. C中的詞典#
- 8. C#中的詞典#
- 9. 從字典中查找文本字符串中的單詞
- 10. 檢查單詞是否在字典中
- 11. PHP中的詞典和地圖
- 12. Python中的字典詞典!
- 13. 用Cython詞典/地圖
- 14. Python的 - 名單詞典字典
- 15. 字典未知大小 - 查找單詞是否在字典中
- 16. 字典詞典
- 17. 字典詞典
- 18. 其中類似字典裏的單詞
- 19. 字典GUI中的隨機單詞
- 20. 語音識別,字典中的單詞
- 21. 將單詞與字典中的目標單詞進行比較
- 22. 創建文本字詞典
- 23. Marklogic值詞典和單詞詞典
- 24. 基礎目標-c:帶數組的字典;用字典詞典
- 25. 詞典副本,如果字典可用
- 26. InvalidCastException和C#中的詞典
- 27. 在Python中訪問字典詞典
- 28. 在python詞典中搜索字典
- 29. 如何在C#中全局使用字典詞典。
- 30. C#字典在另一個詞典中使用TValue