http://turcguide.com/stack/nre1.jpg
当我在我的示例mytext [i] .text中使用和用户定义的对象时,我得到一个NullReferenceException但是如果我使用设计时对象则没有NullReferenceException
在我的例子中,下面的行没有给出异常,但是如果我放置一个数组对象,如mytext [i] .text(运行时对象)而不是IngNbrTxt.Text(设计时间对象),我得到一个异常作为show在上面的链接中。
string myvar = Convert.ToString(IngNbrTxt.Text);
private void inglist_click(object sender, EventArgs e)
{
TextBox[] mytext = new TextBox[9];
int rows = 0;
Int32.TryParse(IngNbrTxt.Text, out rows);
if (inglist.SelectedIndex > -1 && this.CommandFrame.Visible == true)
{
for (int i = 0; i < rows; ++i)
{
//string myvar = (mytext[i].Text != null ? mytext[i].Text.ToString() : (string)null);
string myvar = Convert.ToString(IngNbrTxt.Text);
if (myvar == null)
{
mytext[i].Text = Convert.ToString(inglist.Items[inglist.SelectedIndex]);
}
}
}
else
{
return;
}
}
答案 0 :(得分:1)
由于@BartoszKP评论mytext[i]
为空,当您设置null对象的Text
属性时会出现异常,请尝试使用以下
if (myvar == null)
{
mytext[i] = new TextBox();
mytext[i].Text = Convert.ToString(inglist.Items[inglist.SelectedIndex]);
}
OR
TextBox[] mytext =Enumerable.Range(0,8).Select(x=> new TextBox()).ToArray();