我正在尝试从字典中读取键的值,如下所示:
if (myDic["myKey"] != null)
{
}
我可以看到我正在检查 null,但即便如此它也会抛出 KeyNotFoundException。我还应该怎么检查这个?请指教!
最佳答案
看起来您混淆了 HashTable
的行为与Dictionary<TKey, TValue>
的那个. HashTable
类将返回 null
Dictionary<TKey, TValue>
键不存在时的值将抛出异常。
您需要使用 ContainsKey
或 TryGetValue
以避免这个问题。
object value;
if (myDic.TryGetValue("apple", out value)) {
...
}
关于c# - 即使在检查 null 后字典也会抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5462887/