我有一个Collection
节点,特别是一个HTMLAgilityPack.HTMLNodeCollection
节点的集合。我知道我可以做从节点提取和存储信息:C#:结合AddRange()和Lambda表达式
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表达式不够熟悉,无法正确执行此操作。我试图像
nodesList.AddRange(string[] arr = x => nodes.ToArray()[x].InnerText);
联合,我知道是没有语法意义,但我不知道,甚至可以做到这一点。我只想收集Cast<string>()
,但我需要从每个节点中提取文本。
任何关于如何将其放入AddRange()
表达式的想法?
出于好奇,你的第一个例子实际上是编译和运行? – 2014-12-19 02:48:08
@GrantWinney是的。不是吗? – Bryant 2014-12-19 02:57:59
你正在迭代节点的集合,然后直接将它们添加到字符串列表中...我只是想,如果没有选择你感兴趣的节点的属性是行不通的(即'nodesList.Add (node.InnerText);') – 2014-12-19 02:58:58