我在静态类中定义一个静态数组,但是想在该类中初始化这个数组,也就是给数组赋值。
public static class GlobalCont
{
private const int ITEMNUM = 20;
private static string[] itemname;
public static string[] Itemname
{
get { return GlobalCont.itemname; }
set {
for (int i = 0; i < ITEMNUM; i++)
{
itemname[i]=APPL.Properties.Resources.ResourceManager.GetString("str"+String.Format("{0:D3}",i));
}
}
}
}
1.我想知道怎样可以赋值,使得在别的类中调用该数组时已经是被初始化过的。
2.我想知道重新封装一个属性时set有什么用途,可以用来初始化数据吗?(我大概知道这里的写法是有误的,但是不会用)
1、静态类也是有静态构造函数的;
public static class GlobalCont
{
private const int ITEMNUM = 20;
public static string[] itemname;
static GlobalCont() {
itemname = new string[ITEMNUM];
for (int i = 0; i < ITEMNUM; i++)
{
itemname[i] = APPL.Properties.Resources.ResourceManager.GetString("str" + String.Format("{0:D3}", i));
}
}
}
2、属性的get是获取 set是赋值 例如 var s = GlobalCont.itemname 这个是get ;GlobalCont.itemname = null 这个就会到set方法