全局数组引用错误
本文关键字:错误 引用 数组 全局 | 更新日期: 2023-09-27 17:56:32
我做了一个程序,在按下按钮1后获取textBox1和textBox2中的信息。如果您输入文本框3并且您在那里写的内容与文本框1相同,则按下按钮2后,它将textBox2的文本放在标签2中。发短信。
但问题是它不会将textbox2.text放入label2.text中。为什么?
代码如下:
ozv[] a = new ozv[5];
int i = 0;
private void button1_Click(object sender, EventArgs e)
{
a[i] = new ozv();
a[i].name = textBox1.Text;
a[i].id = int.Parse(textBox2.Text);
i++;
}
private void button2_Click(object sender, EventArgs e)
{
for (int j = 0; j < 5; j++)
{
if (a[j] != null) && a[j].name == textBox3.Text)
{
label2.Text = a[j].id.ToString();
}
}
}
这是我做的课程:
class ozv
{
public string name;
public int id;
}
当我删除 for 循环时,它工作正常,但是当我将其放回代码中时,问题再次出现。
我认为您迭代循环的次数比您通过单击 button1 实际增加"i"的次数要多。
因此,取数组"a"的长度并在 for 循环中使用它的长度。
前任:
for (int j = 0; j < a.Length; j++)
instead of for (int j = 0; j <5; j++)
疯狂猜测:
我认为 for 循环是问题。我想它的投掷IndexOutOfArrayException
。
试试这个:
for (int j = 0; j < a.Length; j++)
{
if (a[j] != null) && a[j].name == textBox3.Text)
{
label2.Text = a[j].id.ToString();
}
}