You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Lambda表达式实现HTML Agility Pack加载HtmlDocument列表

用Lambda表达式改写HTML Agility Pack的HtmlDocument列表初始化代码

你原来通过循环逐个创建HtmlDocument实例并加载HTML内容的逻辑,其实可以用LINQ的Select配合Lambda表达式来简化。你之前尝试的写法不对,是因为HtmlDocument并没有可以直接赋值的Text属性,得调用它的LoadHtml方法来加载内容。

正确的改写代码是这样的:

var htmllist = content.Select(c => {
    var doc = new HtmlDocument();
    doc.LoadHtml(c);
    return doc;
}).ToList();

简单解释下:这里用了带语句体的Lambda表达式,因为我们需要执行多步操作——先创建HtmlDocument实例,再调用LoadHtml加载传入的内容,最后把这个实例返回。最后调用ToList()把Select返回的IEnumerable<HtmlDocument>转换成List<HtmlDocument>,和你原来的循环实现的效果完全一致。

内容的提问来源于stack exchange,提问作者user8608110

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 03:43:36