當我把代碼:C#爲什麼我可以在函數中創建一個標籤數組,但不在其他地方?
label[] label_array = {label1, label2};
裏面的函數,它工作得很好。每當我把它放在其他地方,我得到的錯誤「字段初始值設定項不能引用非靜態字段,方法或屬性,file.form1.label1」
有沒有一種不同的方式,我可以做到這一點允許我將標籤數組設置爲全局嗎?
當我把代碼:C#爲什麼我可以在函數中創建一個標籤數組,但不在其他地方?
label[] label_array = {label1, label2};
裏面的函數,它工作得很好。每當我把它放在其他地方,我得到的錯誤「字段初始值設定項不能引用非靜態字段,方法或屬性,file.form1.label1」
有沒有一種不同的方式,我可以做到這一點允許我將標籤數組設置爲全局嗎?
你不能在類級別寫這個,因爲當變量初始化運行時這些標籤還不存在。如果你想在類級別的變量,只是聲明它有:
label[] label_array;
然後在構造函數(或一些其他的功能就像一個Init
功能)初始化:
private void Init()
{
label_array = new label[2] {label1, label2};
}
我猜你的意思是anyhwere其他的一流水平,如果你想成爲一個一流水平的變量,你可以在類級別聲明的數組,那麼在構造函數中的方法進行初始化,例如。
C#
沒有全局變量,類級別是變量可以具有的最寬範圍。