我需要正确地将Skip
方法返回给我的集合转换为正确的类型:
Dim htmlnodes_Albums As HtmlAgilityPack.HtmlNodeCollection = Nothing
htmlnodes_Albums =
htmldoc_RawSource.DocumentNode.
SelectNodes("//h1[@class='pageheader']").
Skip(1).
Cast(Of HtmlAgilityPack.HtmlNode)()
问题是上面的代码抛出了一个强制转换异常,我也试过了CType
。
我可以取消定义htmlnodes_Albums
的类型或者编写一个很长的LINQ方法来转换类型,但我不会。我想知道一种正确(和简短)的转换方式。
答案 0 :(得分:4)
LINQ方法通常返回IEnumerable
对象,就像Cast
方法一样。试试这个:
Dim htmlnodes_Albums As IEnumerable(Of HtmlAgilityPack.HtmlNode) = Nothing
htmlnodes_Albums =
htmldoc_RawSource.DocumentNode.
SelectNodes("//h1[@class='pageheader']").
Skip(1).
Cast(Of HtmlAgilityPack.HtmlNode)()