c#尝试将IEnumerable <xelement>转换为List <string>

时间:2017-03-23 19:24:44

标签: c#

我无法弄清楚如何从IEnumerable转换为List

public IEnumerable<XElement> GetProjects()
{
    return xd.Element("root").Element("projects").Elements();
}

这会给我错误

public List<string> Projects
{
    get { return GetProjects().ToList(); }
    set { Projects_ = value; }
}

Cannot implicitly convert type 'System.Collections.Generic.List<System.Xml.Linq.XElement>' to 'System.Collections.Generic.List<string>'

我可以添加.Select,但我觉得这可以是一种更简单的方法。 欣赏提示!

2 个答案:

答案 0 :(得分:0)

Enumerable.Select几乎是最简单的方法。见下面的例子:

public List<string> Convert(IEnumerable<XElement> items) {
    return items.Select(item => item.ToString()).ToList();
}

答案 1 :(得分:0)

只需使用.Select:

public IEnumerable<string> GetProjects()
    {
        return xd.Element("root").Element("projects").Elements().Select(x => x.Value);
    }