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()表达中的任何想法?

C#:组合 AddRange() 和 Lambda 表达式

您正在寻找IEnumerable.Select()

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