嘿,我有以下这样的代码字典有钥匙,但崩溃说它不
public object RetrieveItemRun(int item)
{
if (dictionary.ContainsKey(item))
{
MessageBox.Show("Retrieving" + item.ToString());
}
return dictionary[item];
}
它试图获得的0键时总是死机,消息框确实表明所以ContainsKey方法是真实的,但是当我尝试检索从键的值崩溃说:
“给定的键不存在在词典中”
这是方法,通过多线程叫什么名字?老实说,我只是不会用你向我们显示的代码购买它。向我们展示如何调用'RetrieveItemRun()',但该检查不是线程安全的,另一个线程删除项目将解释它。此外,无论“Contains”是否返回“true”,您都在查找“item”,这是另一个失败点。 –
你确定没有两个调用函数?此外,应该把这个回报放在如果可能。 – phant0m
我的猜测是,你调用此方法多次,说两个'0'和为'1'之后。 '0'调用成功,但'1'导致错误。这将解释你所看到的。 – Enigmativity