且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将 XmlNodeList 转换为 List

更新时间:2022-12-12 16:30:50

是的,可以使用 LINQ:

Yes, it's possible using LINQ:

var memberNames = membersIdList.Cast<XmlNode>()
                               .Select(node => node.InnerText)
                               .Select(value => int.Parse(value))
                               .Select(id => library.GetMemberName(id))
                               .ToList();

Cast() 调用是必要的,因为XmlNodeList 没有实现通用的IEnumerable,所以你必须明确将其从非泛型 IEnumerable 转换为泛型集合.

Cast<XmlNode>() call is necessary, because XmlNodeList does not implement generic IEnumerable<T>, so you have to explicitly convert it to generic collection from non-generic IEnumerable.

是的,如果需要,您可以将所有 Select 调用合并为一个:

And yes, you can merge all Select calls into one if you want:

var memberNames = membersIdList.Cast<XmlNode>()
                               .Select(x => library.GetMemberName(int.Parse(x.InnerText)))
                               .ToList();