【发布时间】:2014-08-30 12:29:16
【问题描述】:
我的程序中有这段代码:
foreach (HtmlElement chat in wb.Document.GetElementsByTagName("input"))
{
if (chat != null)
{
if (chat.InnerText.Equals("Chat"))
{
chat.InvokeMember("Click");
loggedIn = true;
break;
}
}
}
一旦到达if(chat.InnerText.Equals("Chat")),它就会抛出一个 NullReferenceException 错误,如下面的屏幕截图所示:
有人知道它为什么给我这个吗?我什至把if (chat != null) 代码放在那里,它仍然会抛出它。
这是网站代码:
<div class="ContentTab">
Chat
</div>
【问题讨论】:
-
chat不为空,但chat.InnerText为空。 -
聊天可能是一个自动关闭标签,然后没有内部文本。不知道:D
-
在这种情况下使用
Equals()看起来像Java 主义。请改用相等运算符,因此您最终不会在null引用上调用方法。
标签: c# winforms browser nullreferenceexception