当我已经定义了变量时,为什么我会收到一个错误,表明我的变量不存在?

Mr *_*ach 0 c# variables

我收到一个错误,表明MyRandomArray当前上下文中不存在.如何在C#WinForms应用程序中跨类访问变量?

public void Quiz_Load(object sender, EventArgs e)
{
    string[] MyRandomArray = getWordList();
}

private void timer1_Tick(object sender, EventArgs e)
{
    somefunction(MyRandomArray);/// MyRandomArray doesn't exist in the current context.
}
Run Code Online (Sandbox Code Playgroud)

p.s*_*w.g 8

您已经定义了数组,但Quiz_Load方法的范围内,因此范围timer1_Tick不了解它.如果将其声明为类的实例成员,则可以从任何实例方法访问它:

private string[] MyRandomArray;

public void Quiz_Load(object sender, EventArgs e)
{
    this.MyRandomArray = getWordList();
}

private void timer1_Tick(object sender, EventArgs e)
{
   somefunction(this.MyRandomArray); // No problem
}
Run Code Online (Sandbox Code Playgroud)

进一步阅读