-1
Line 24:             if (word.Length<3)

Line 25:             {
Line 26:                 Label1.Visible = true;

Source File: C:\Users\c-tac\Documents\Visual Studio 2010\Projects\telephone\telephone\show.aspx.cs    Line: 24

堆栈跟踪:

[NullReferenceException: Object reference not set to an instance of an object.]
4

2 回答 2

0

看起来很明显,word没有设置为实例;换句话说word是空的。

进行检查以确保word不使用它,除非它被实例化为某种东西,如下所示:

if(word != null)
{
    // Do stuff with word, because you know it actually exists now
}

注意:这被称为defensive programming并将消除NullReferenceException代码中的几乎所有 s。它还有一个额外的好处是让您考虑在特定对象为空的情况下您应该如何处理您的代码(例如是否应该向用户报告这是否应该导致应用程序结束等)。

于 2013-07-21T03:55:29.427 回答
0

NullReferenceException 发生在您想要对元素执行迭代之类的操作时,通常您无法使用 null 值执行此操作。您应该检查您的代码,如果值为 null,请确保在其他内容之前为 in 分配默认值。或者只是做简单的方法并使用try and catch。

 try
 {
      // do your stuff with word
 }
 catch
 {
      // handle the null exception
 }

尽管基于您的代码 null 意味着您的字长为零。所以你也可以这样做。

 if(word != null || word.lenght<3)
 {
      // do your thing
 }
于 2013-07-21T04:15:49.993 回答