GetEnumerator返回null

时间:2014-03-10 07:30:03

标签: c#

对象htmlDocument.Body.All不为空。为什么GetEnumerator()返回null?

IEnumerator<HtmlElement> hm =  htmlDocument.Body.All.GetEnumerator() as      
IEnumerator<HtmlElement>;

2 个答案:

答案 0 :(得分:1)

您使用as投射它,如果as失败,则返回null。试试这样,看看确切的返回类型是什么而不假设任何东西或铸造:

var hm =  htmlDocument.Body.All.GetEnumerator();

答案 1 :(得分:1)

我想你想要这个。虽然你想要一个Enumerator<HtmlElement>,但我没有任何线索。

IEnumerator<HtmlElement> hm =  htmlDocument.Body.All
               .OfType<HtmlElement>()
               .GetEnumerator();

在大多数情况下,您会发现使用

可以更轻松地完成任务
foreach(var element in htmlDocument.Body.All.OfType<HtmlElement>())
{
     //Stuff
}