我创建了一个处理不同上下文(例如:常规上下文,菜单上下文,游戏上下文等)文本的文本管理器类。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