读书人

在C#中怎么定义一个数组的全局变量

发布时间: 2011-12-22 23:36:25 作者: rapoo

在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 为空?为什么?

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


sorry,修正一下,
n为数组大小。

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

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

}
}
}

读书人网 >C#

热点推荐