XDocument.Descendants(“somethinghere”)。Count()方法不存在

时间:2011-06-04 19:35:37

标签: c# xml linq

我正在尝试使用LINQ to XML对某些后代进行简单计数,并且“Count()”方法对我来说不存在?

示例:

using System.Xml.Linq;

XDocument doc = XDocument.Load( "somexmlfile" );
int count = doc.Descendants("somethinghere").Count();

以上内容无法编译,因为它无法识别Count()方法。

2 个答案:

答案 0 :(得分:8)

您是否在文件顶部有using System.Linq;

答案 1 :(得分:3)

这是因为Descendants(XName name)会返回IEnumerable<XElement>

按照设计,IEnumerable延迟加载数据,因此计算集合中的项目会导致枚举。

我可能会将此转换为IList,您可以使用Count属性。