对象引用未设置为对象错误的实例

时间:2009-02-27 03:58:38

标签: c# linq

当我执行这段代码时,我收到此错误“对象引用未设置为对象错误的实例”

xe.Element("Product") // Select the Product desc="household" element  
.Elements() 
.Select(element => 
new { Name=(string) element.Attribute("desc"),                           
Count=element.Elements().Count() });

可能是什么原因?

4 个答案:

答案 0 :(得分:5)

尝试将其分开。

var e = xe.Element("Product");
var elements = e.Elements();
elelements.Select(element =>...

等。找到导致错误的最小代码单元。这将有助于隔离事物。另外,使用调试器监视窗口。寻找空值。

答案 1 :(得分:0)

所有这些都可以返回null:

xe.Element("Product") 

xe.Element("Product") 
.Elements() 

答案 2 :(得分:0)

您使用的其中一个引用为null。验证xe是否为空,并且有Product标记,其中包含元素。此外,如果所选标记没有任何子元素,则匿名类型上Count属性的设置也可能会生成此错误。

如果没有别的,您可以尝试将其拆分为多行,以查看哪一行抛出异常。这应该可以帮助您缩小问题范围。

答案 3 :(得分:0)

您是否检查过以确认xe不是“null”。这是导致问题的最可能原因。