桐雨 2019-12-25 16:28 采纳率: 28.6%
浏览 677

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条回答 默认 最新

  • 欧皇神降术 2019-12-25 16:50
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作