0

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

4

4 回答 4

3

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

于 2012-06-30T07:13:32.077 回答
1

Dictionary 的ContainsKey方法呢?

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

于 2012-06-30T07:14:45.297 回答
0

简单把它放在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";
}
于 2012-06-30T07:11:53.113 回答
0

Trie 数据结构用于存储密钥。使用这种数据结构的好处: 1.节省存储空间。2. 在 O(Log(n)+constant) 中,可以确定密钥是否存在的复杂度。

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

于 2012-07-02T11:24:44.507 回答