我需要一种有效的方法来通过3个不同的键中的任何一个来查找用户。例如,通过 id ,用户名或别名。
基本概念是一种数据结构,您可以使用3种不同类型的键中的任何一种来查找值:
myDataStructure.lookupByName(name) -> User
myDataStructure.lookupById(id) -> User
myDataStructure.lookupByAlias(alias) -> User
我能想到的唯一直接方法是使用 3个单独的词典,并使用与提供的键类型相对应的词典。
有更有效的方法吗?
答案 0 :(得分:0)
如果您知道密钥集(名称,ID和别名)是不同的,则可以将它们全部放入单个表中。否则,你需要你注意到的三个单独的表。
答案 1 :(得分:0)
这也可以帮到你。你可以将它扩展到多个键 http://www.codeproject.com/KB/recipes/multikey-dictionary.aspx