使用HTMLNode的foreach循环中的NullReferenceException错误

Chr*_*s L 4 c# foreach nullreferenceexception html-agility-pack

如果'SelectNodes'返回NULL,如何在下面的foreach循环中捕获NullReferenceException错误?

我在stackoverflow上搜索并发现可以用来捕获此错误的null-coalescing condition(?? condition),但是,我不知道HTMLNode的语法是什么,或者甚至可能.

foreach (HtmlNode link in imagegallery.DocumentNode.SelectNodes("//a[@href]") )
            {
                //Do Something
            }
Run Code Online (Sandbox Code Playgroud)

你如何为这个循环选择NULL EXCEPTION,还是有更好的方法呢?

这是抛出异常的完整代码 -

    private void TEST_button1_Click(object sender, EventArgs e)
    {
        //Declarations           
        HtmlWeb htmlWeb = new HtmlWeb();
        HtmlAgilityPack.HtmlDocument imagegallery;

            imagegallery = htmlWeb.Load(@"http://adamscreation.blogspot.com/search?updated-max=2007-06-27T10:03:00-07:00&max-results=20&start=18&by-date=false");

            foreach (HtmlNode link in imagegallery.DocumentNode.SelectNodes("//a[@imageanchor=1 or contains(@href,'1600')]/@href"))
            {
               //do something
            }
    }       
Run Code Online (Sandbox Code Playgroud)

And*_*tan 8

if(imagegallery != null && imagegallery.DocumentNode != null){
  foreach (HtmlNode link in 
    imagegallery.DocumentNode.SelectNodes("//a[@href]") 
      ?? Enumerable.Empty<HtmlNode>()) 
  {
    //do something
  }
}
Run Code Online (Sandbox Code Playgroud)