为什么选择不被识别为XElement的有效方法?

时间:2014-02-26 22:23:14

标签: c# linq-to-xml xelement

根据我看到here的代码,我几乎完全相同的代码应该有效:

XDocument doc = XDocument.Parse(stringifiedXML);
var Platypi = doc.Descendants("Platypus").Select(delItem => new
{
    Name = delItem.Element("duckbillName").Value,
    Length = delItem.Element("length").Value,
    Weight = delItem.Element("weight").Value,
    Age = delItem.Element("age").Value,
}).ToList();

然而,它反而猛烈地从我懒惰的地方抽出地毯,把我洒在地板上,嘲笑我的窘迫,“'System.Collections.Generic.IEnumerable'不包含'Select'的定义,没有扩展方法'select'接受类型'System.Collections.Generic.IEnumerable'的第一个参数可以找到(你是否缺少using指令或汇编引用?)

问题可能会得到肯定地回答,但右键单击“选择”不能提供“解决”上下文菜单项,所以我不知道我可能会丢失什么,如果有的话。

2 个答案:

答案 0 :(得分:2)

您必须添加System.Linq - 命名空间才能使用Select扩展方法。 选择Add Reference并将System.Core.dll添加到项目中

答案 1 :(得分:1)

只需导入System.Linq命名空间:

using System.Linq;

LINQ类中Enumerable命名空间下定义的所有System.Linq扩展方法。如果您使用的是.NET Framework 4.5.1版本,那么您应该可以使用{{添加引用后的方法。