我尝试检查null,但是编译器警告说这种情况永远不会发生。我应该寻找什么?
发布于 2010-01-26 19:22:13
如果字典中不包含您的键,则字典将引发KeyNotFound
异常。
正如建议的那样,ContainsKey
是适当的预防措施。TryGetValue
也是有效的。
这允许字典更有效地存储空值。如果不这样做,检查来自[]操作符的null结果将指示NULL值或输入键不存在,这是不好的。
发布于 2010-01-26 19:19:10
如果只是在尝试添加新值之前进行检查,请使用ContainsKey
方法:
if (!openWith.ContainsKey("ht"))
{
openWith.Add("ht", "hypertrm.exe");
}
如果要检查该值是否存在,请使用Jon Skeet的答案中描述的TryGetValue
方法。
发布于 2010-01-26 19:19:41
在尝试提取该值之前,您应该检查Dictionary.ContainsKey(int键)。
Dictionary<int, int> myDictionary = new Dictionary<int, int>();
myDictionary.Add(2,4);
myDictionary.Add(3,5);
int keyToFind = 7;
if(myDictionary.ContainsKey(keyToFind))
{
myValueLookup = myDictionay[keyToFind];
// do work...
}
else
{
// the key doesn't exist.
}
https://stackoverflow.com/questions/2138982
复制相似问题