代码如下:public partial class _Default : System.Web.UI.Page 
{
    public static Label[] list = {Label1,Label2 };  //这句出现错误。(为什么?)
    protected void Page_Load(object sender, EventArgs e)
    {
        Label[] list2 = { Label1, Label2 };      
      
    }
}
错误为:
错误 1 字段初始值设定项无法引用非静态字段、方法或属性“_Default.Label1” D:\My Documents\Visual Studio 2008\WebSites\WebSite1\Default.aspx.cs 16 35 D:\...\WebSite1\为什么不能定义静态变量出错?应该怎么定义一个全局的label数组?

解决方案 »

  1.   

    public static Label[] list =new label[] {Label1,Label2 };  
      

  2.   

            public static Label[] list = new Label[] { new Label(), new Label() }; 
      

  3.   

    因为在那个时候,Label1和Label2还没有被初始化,也就是说Label1和Label2还没存在呢
      

  4.   


      protected void Page_Load(object sender, EventArgs e)
        {
            Label[] list2 = { Label1, Label2 };          
        }
    为什么这句没有错误呢?加载为题?
      

  5.   

    在Page_Load里,Label1和Label2已经被初始化完毕,这两个对象也已经存在了