如何处理HtmlDocument空异常

时间:2018-09-15 10:50:51

标签: c#

我正在通过名为shippingMessage_ftinfo_olp_1的html id检查HtmlDocument(),但问题是我无法检查这是否为空异常。因为当我设置!=null还是会抛出异常。任何人都可以告诉我如何在没有此异常的情况下检查它是否为null?

  

System.NullReferenceException:'对象引用未设置为   对象的实例。'

HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(response);
string gerLang = "";
if (htmlDoc.GetElementbyId("shippingMessage_ftinfo_olp_1").InnerText != null)
{
    gerLang = htmlDoc.GetElementbyId("shippingMessage_ftinfo_olp_1").InnerText;
    if(gerLang.Contains("AmazonGlobal Express-Zustellung"))
    {
        _outOfStock = false;
    }
}

pic

1 个答案:

答案 0 :(得分:0)

使用null conditional operator

if (htmlDoc.GetElementbyId("shippingMessage_ftinfo_olp_1")?.InnerText != null)

如果htmlDoc可以为null,请将其也更改为htmlDoc?.GetEle....

原因:如果要评估的对象为null,则空条件运算符会使评估短路,从而防止您获取异常,而倾向于评估为null。