【发布时间】:2014-05-29 14:34:50
【问题描述】:
代码:
items.FirstOrDefault(x => x.Foo.Bar.BarId == snuh.BarId);
错误:
System.NullReferenceException:对象引用未设置为实例 一个对象。
空对象可以是items、Foo、Bar 或snuh。
调试器/运行时可以告诉我错误发生在哪一行代码上。为什么它也不能告诉我是哪个对象有问题?
注意:我知道我可以调试它并找出答案。 Visual Studio 无法向我提供违规对象的名称是否有原因?
【问题讨论】:
-
我认为这可能与这篇关于 Lampba 表达式的帖子以及您无法调试它们的事实有关:*.com/questions/725499/…
-
其实x也可以为null。许多集合允许您将 null 作为项目添加到列表中。
-
空引用由不知道是什么对象生成空引用的代码检测到。这就像说当您执行 sqrt(x) 并且 x 为负数时,sqrt 函数应该说“不能对变量 x 中的负数取平方根”。
标签: c# visual-studio debugging visual-studio-2013 nullreferenceexception