将变量传递给另一个表单C#时出现NullReferenceException

时间:2012-06-09 09:58:54

标签: c# nullreferenceexception

所以我有以下情况;我想将一些变量发送到另一个表单。这是一些代码:

// In Form1
Form3 f3 = new Form3();
f3.SetVariables(pieces);
// In Form3
string[] items;
void SetVariables(string[] array)
{
    items = array;
}

现在确实有效,但如果我尝试使用:

items[x].Length

它会抛出NullReferenceException,但如果我使用:

String.IsNullOrEmpty(items[x]);

(我正在检查items[x]是否有值) 上面的代码完美无缺,没有错误。这背后有原因吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

String.IsNullOrEmpty将首先检查变量是否为null。 items[x].Length为空时调用items[x]将失败,因为没有对象可以调用.Length