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

Posted

技术标签:

【中文标题】Visual C# - 错误 1 ​​当前上下文中不存在名称“a”【英文标题】:Visual C# - Error 1 The name 'a' does not exist in the current context 【发布时间】:2011-11-01 17:45:09 【问题描述】:
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;
 

【问题讨论】:

该错误表示您没有在“button6_Click”方法中声明“a”变量。注意:“button7_Click”中声明的“a”不可见 【参考方案1】:

a 是一个方法变量;它仅在每次调用button7_Click 时存在。我怀疑您需要将其设为 *field:

     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更好的名字。

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

a 不在 button6 点击的范围内。

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

你也可以这样做

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

    

【讨论】:

【参考方案4】:

您在 button6_Click 中调用“a.Length”,但该方法中未定义 a。如果您在两种方法中都需要“a”,则需要将其设为类变量。但从外观上看,您也可以在方法 button6_Click 中获取文本框的内容。

【讨论】:

以上是关于Visual C# - 错误 1 ​​当前上下文中不存在名称“a”的主要内容,如果未能解决你的问题,请参考以下文章

C# 错误 1 当前上下文中不存在名称"number"

在用visual studio 2010编程过程中遇到“当前上下文中不存在名称”的错误,代码是从其他案例里复制来的

C# 关键字 Visual Studio 2012

错误 CS0103:当前上下文中不存在名称“HttpUtility”

缺少定义 MVC 视图 Visual Studio Intellisense

如何检测 C# Windows Forms 代码在 Visual Studio 中执行?