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
,我尝试将as
HtmlNodeCollection
添加到末尾,但代码返回
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();