日期:2014-05-20  浏览次数:20911 次

在C#中如何定义一个数组的全局变量!
我曾经试过用一个静态数组变量来试图定义一个全局的变量,但是这样做会破坏了类的封装性,所以我定义一个为属性,它类型为数组,但是却怎样也不能得到我所要的结果.
代码如下:
    在同个命令空间中我定义了二个类,分别为Array1.cs

      public   class   Array1
        {
                private     static   int[]   StaticVariables;
                public   int[]   Proarray
                {
                        get
                        {
                                return   StaticVariables;
                        }
                        set
                        {

                                /*
                                  *   或者用这用方法
                                  *   int[]   StaticVariables   =   new   int[value.Length];
                                      value.CopyTo   (StaticVariables   ,0);
                                */
                                int[]   StaticVariables   =   (int[])value.Clone();

                        }
                }
        }

  与另外一个类Form2.cs

public   class   Form2   :   Form
        {
   
                private   void   button4_Click(object   sender,   EventArgs   e)
                {
                        int[]   Orgions   =   new   int[4]   {   9,   8,   7,   6   };
                        Array1   arr   =   new   Array1();
                        arr.Proarray   =   Orgions;
                        MessageBox.Show(arr.Proarray.Length.ToString   );
                       
                }

        }
当我触发   button4_Click事件后,
当我运行到     MessageBox.Show(arr.Proarray.Length.ToString   );   这句时,提示
arr.Proarray   为空?为什么?

------解决方案--------------------