更新时间: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();