我正在尝试使用LINQ to XML对某些后代进行简单计数,并且“Count()”方法对我来说不存在?
示例:
using System.Xml.Linq;
XDocument doc = XDocument.Load( "somexmlfile" );
int count = doc.Descendants("somethinghere").Count();
以上内容无法编译,因为它无法识别Count()
方法。
答案 0 :(得分:8)
您是否在文件顶部有using System.Linq;
?
答案 1 :(得分:3)
这是因为Descendants(XName name)
会返回IEnumerable<XElement>
。
按照设计,IEnumerable延迟加载数据,因此计算集合中的项目会导致枚举。
我可能会将此转换为IList
,您可以使用Count
属性。