C#为什么我可以在函数内创建一个标签数组,而不是在其他地方创建?

时间:2014-06-23 21:54:25

标签: c# arrays visual-studio global-variables labels

当我输入代码时:

label[] label_array = {label1, label2};

在函数内部,它工作得很好。每当我把它放在其他任何地方,我得到错误“字段初始值设定项不能引用非静态字段,方法或属性,file.form1.label1”

我是否可以通过不同的方式将标签数组设为全局?

2 个答案:

答案 0 :(得分:4)

你不能在课堂上写这个,因为当变量初始化运行时那些标签还不存在。如果你想在类级别变量,只需在那里声明:

label[] label_array;

然后在构造函数(或像Init函数之类的其他函数中)初始化它:

private void Init()
{
    label_array = new label[2] {label1, label2};
}

答案 1 :(得分:2)

我猜你的意思是 anyhwere else 的类级别,如果你想让它成为类级变量,你可以在类级别声明你的数组然后在一个方法中初始化它,例如在构造函数。

C#没有全局变量,类级别是变量可以具有的最大范围。