C#:组合AddRange()和Lambda Expression

c# html-agility-pack lambda

我有一个Collection节点,特别是集合HTMLAgilityPack.HTMLNodeCollection节点。我知道我可以通过以下方式从节点中提取和存储信息:

List<string> nodesList = new List<string>();

var nodes = myFile.DocumentNode.SelectNodes(file_path);
foreach (var node in nodes)
    nodesList.Add(node.InnerText);

但是,我想要做的是应用AddRange() ,而不是在foreach循环中添加项目。我正在尝试使用lambda表达式来执行此操作,但我不熟悉lambda表达式来正确执行此操作。我正试图结合类似的东西

List<string> nodesList = new List<string>();

var nodes = myFile.DocumentNode.SelectNodes(file_path);
foreach (var node in nodes)
    nodesList.Add(node.InnerText);

我知道这没有语法意义,但我不确定是否能做到这一点。我想只是Cast<string>()集合,但我需要从每个节点中提取文本。

关于如何将它放入AddRange()表达式的任何想法?

一般承认的答案

你正在寻找IEnumerable. Select()

nodesList.AddRange(nodes.Select(node => node.InnerText))



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因