Visual C# - 错误1当前上下文中不存在名称“a”

问题描述 投票:-1回答:4
private void button6_Click(object sender, EventArgs e)
{  

     for (int i = 0; i < a.Length; i++)
     {
        MessageBox.Show(a[i]);
     }

 }

 public void button7_Click(object sender, EventArgs e)
 {
      string[] a = { textBox1.Text};
 }
c# arrays public
4个回答
4
投票

a是一个方法变量;它只存在于每次调用button7_Click时。我怀疑你需要把它变成一个*字段:

     for (int i = 0; i < a.Length; i++)
    {
        MessageBox.Show(a[i]);
    }

}
private string[] a;
public void button7_Click(object sender, EventArgs e)
{
     a = new string[]{ textBox1.Text};
}

然后:选择一个比a更好的名字。


1
投票

因为a被定义为button7_click函数的局部变量,所以它在表单上是全局的;在表单的变量上定义它


1
投票

a不在按钮6内的范围内。

您必须在该处理程序中将其声明为字段,或在自定义eventargs中将其传递。

你也可以这样做

 private void button6_Click(object sender, EventArgs e) {
        string[] a = { textBox1.Text};
        for (int i = 0; i < a.Length; i++)
        {
            MessageBox.Show(a[i]);
        }

    }

0
投票

你在button6_Click中调用“a.Length”但是在该方法中没有定义a。如果在两种方法中都需要“a”,则需要将其设为类变量。但是通过它的外观你也可以在方法button6_Click中获取文本框的内容。

© www.soinside.com 2019 - 2024. All rights reserved.