Ответ 1
Да, возможно использование LINQ:
var memberNames = membersIdList.Cast<XmlNode>()
.Select(node => node.InnerText)
.Select(value => int.Parse(value))
.Select(id => library.GetMemberName(id))
.ToList();
Cast<XmlNode>()
необходим, потому что XmlNodeList
не реализует общий IEnumerable<T>
, поэтому вам нужно явно преобразовать его в общую коллекцию из не общего IEnumerable
.
И да, вы можете объединить все вызовы Select
в один, если хотите:
var memberNames = membersIdList.Cast<XmlNode>()
.Select(x => library.GetMemberName(int.Parse(x.InnerText)))
.ToList();