C# 使用linq选择后是否可以保留属性类型?
这一问题部分与政治有关。特别是我需要保留类型C# 使用linq选择后是否可以保留属性类型?,c#,linq,html-agility-pack,C#,Linq,Html Agility Pack,这一问题部分与政治有关。特别是我需要保留类型HtmlNodeCollection的属性,本质上我只需要获得一个select的选项,该选项有一个文本,select结构事实,如下所示: <select class="foo"> <option></option> <option>item1</option> <option>item2</option> </select> 此代码
HtmlNodeCollection
的属性,本质上我只需要获得一个select
的选项,该选项有一个文本,select结构事实,如下所示:
<select class="foo">
<option></option>
<option>item1</option>
<option>item2</option>
</select>
此代码正在工作,但我无法访问每个对象的属性,因为现在grps
集合是一个可枚举的
,相反,我需要一个HtmlNodeCollection
,我尝试将asHtmlNodeCollection
添加到末尾,但代码返回null
有什么想法吗?我认为ToList()
方法是您在这里错过的,请尝试以下方法:
var grps = doc.DocumentNode.SelectNodes("//select[@id='group_id_selector']//option")
.Where(c => c.InnerText != string.Empty).ToList();
其中
,选择
方法(以及更多方法)返回可枚举的对象。调用ToList()
方法将返回相应的类型:)nice,这是经过数小时开发的结果哈哈,谢谢:)
var grps = doc.DocumentNode.SelectNodes("//select[@id='group_id_selector']//option")
.Where(c => c.InnerText != string.Empty).ToList();