字典中使用的逻辑来检查密钥的存在

时间:2012-06-30 07:08:21

标签: c# algorithm dictionary logic

Dictionary不能有两个具有相同键的值。请说明确定密钥是否存在时使用的逻辑/算法。

4 个答案:

答案 0 :(得分:3)

Eric Lippert在他的blog post中彻底解释了这一点。

答案 1 :(得分:1)

Dictionary的方法 ContainsKey 怎么样?

有很多方法可以检查密钥,但我认为这种方法最优雅。

答案 2 :(得分:0)

简单地把它放在try catch

如果密钥存在将保留在try中,否则如果不存在则将保留在catch

Dictionary<string, int> dic = new Dictionary<string, int>();

string str = "";
try
{
   int a = dic["keytofind"];
   str = "Key Found";
}
catch(Exception)
{
   str = "Key Not Found";
}

答案 3 :(得分:0)

Trie数据结构用于存储密钥。  使用这种数据结构的积极方面:  1.节省存储空间。  2.在O(Log(n)+常数)中,可以确定关于密钥存在的复杂性。

有关trie数据结构的更多详细信息,请参见here