是否可以将XmlNodeList转换为List?没有声明一个新的List我正在寻找一个简单的实现:
System.Xml.XmlNodeList membersIdList = xmlDoc.SelectNodes("//SqlCheckBoxList/value");
List<string> memberNames = new List<string>();
foreach (System.Xml.XmlNode item in membersIdList)
{
memberNames.Add(library.GetMemberName(int.Parse(item.InnerText)));
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*zek 33
是的,可以使用LINQ:
var memberNames = membersIdList.Cast<XmlNode>()
.Select(node => node.InnerText)
.Select(value => int.Parse(value))
.Select(id => library.GetMemberName(id))
.ToList();
Run Code Online (Sandbox Code Playgroud)
Cast<XmlNode>()调用是必要的,因为XmlNodeList没有实现泛型IEnumerable<T>,所以你必须显式地将它从非泛型转换为泛型集合IEnumerable.
是的,Select如果您愿意,可以将所有呼叫合并为一个:
var memberNames = membersIdList.Cast<XmlNode>()
.Select(x => library.GetMemberName(int.Parse(x.InnerText)))
.ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28432 次 |
| 最近记录: |