C#:组合 AddRange() 和 Lambda 表达式
本文关键字:Lambda 表达式 组合 AddRange | 更新日期: 2023-09-27 18:34:37
我有一个节点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 表达式不够熟悉,无法正确执行此操作。我正在尝试结合类似的东西
nodesList.AddRange( string[] arr = x => nodes.ToArray()[x].InnerText );
我知道这没有语法意义,但我不确定是否可以做到这一点。我只想Cast<string>()
集合,但我需要从每个节点中提取文本。
关于如何将其放入AddRange()
表达中的任何想法?
您正在寻找IEnumerable.Select()
:
nodesList.AddRange(nodes.Select(node => node.InnerText))