C#静态类中的静态数组相关

我在静态类中定义一个静态数组,但是想在该类中初始化这个数组,也就是给数组赋值。

 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方法