我創建了一個處理不同上下文(例如:常規上下文,菜單上下文,遊戲上下文等)文本的文本管理器類。C#在字典中搜索字典的最快方法
每個上下文是使用二進制文本文件創建,並將數據存儲在字典中的字典中是這樣的:
private Dictionary<string, Dictionary<string, string>> m_TextContexs;
哪像這樣工作的:
m_TextContexs[context][textID][actual text]
我想用戶在這樣的功能中發現只有'textID
'字符串的任何文本行:
public string GetText(string id)
編輯:textIDs是唯一的,因爲相同的textID不會在多個上下文中存在。
所以這個函數應該在所有現有的上下文中找到字符串id並返回有效的實際文本。
這裏的問題是,什麼是做這個操作的最快方法。我不是一個有經驗的程序員,所以我要做的就是遍歷所有的上下文,並查看每個上下文,如果它提到的文本ID存在。
如果您想知道爲什麼我需要'上下文'來分組文本,所以如果不再需要上下文,我可以從內存中卸載該數據。
提前感謝:)
您能否提供一個更好的例子來說明「字典中的字典」是什麼意思? – NightOwl888
另外,您認爲最快的是什麼?性能?花時間編碼?其他考慮如內存使用情況等呢? – AndrewP
NightOwl888通過在詞典中的字典中搜索我的意思是我在上面爲對象m_TextContexts所寫的行。主要字典的關鍵是許多上下文像c1,c2,c3等......在每個上下文中都有一個包含實際的文本對的字典。因此,例如textID「id001」可以在主詞典的任何鍵中。但它是獨一無二的(因爲它在不同的環境下不會重複)。 – Cris