c# - 即使在检查 null 后字典也会抛出异常

标签 c# .net dictionary exception-handling

我正在尝试从字典中读取键的值,如下所示:

if (myDic["myKey"] != null)
{
}

我可以看到我正在检查 null,但即便如此它也会抛出 KeyNotFoundException。我还应该怎么检查这个?请指教!

最佳答案

看起来您混淆了 HashTable 的行为与Dictionary<TKey, TValue>的那个. HashTable类将返回 null Dictionary<TKey, TValue> 键不存在时的值将抛出异常。

您需要使用 ContainsKeyTryGetValue以避免这个问题。

object value;
if (myDic.TryGetValue("apple", out value)) {
  ...
}

关于c# - 即使在检查 null 后字典也会抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5462887/

相关文章:

c# - 如何使用 C# 读取扩展的智能数据?

c# - 这是 dotnet Regex-Parser 中的错误吗?

.net - 如何在 Windows 10 上强制 WinRT 应用程序全屏显示?

python - 将字典列表转换为 CSV

c# - 为什么比较 float 和 double 时会出现此输出

c# - XMLDocument.Save 在元素为空时向 XML 添加回车符

c# - 从 FlowDocument 创建 XPS 文档并动态附加它

c# - 有没有办法强制使用 dll 版本?

python - 遍历嵌套字典并获取 Python 中的路径?

map 上的 HTML "doughnut"