当前位置:编程学习 > C#/ASP.NET >>

C#结构体数组初始化问题新方法

C#抛弃了C++那种定义结构体数组直接在大括号里付值的方式。
如果用普通的初始化方法又太麻烦。
经过实践,我发现了以下的方式,可以简洁的初始化。
struct AlarmType 
        {
            public string AlarmName;
            public string AlarmId;
            public AlarmType(string name,string Id)
            {
                AlarmName = name;
                AlarmId = Id;
            }
        }

static AlarmType[] alarmTypes = { new AlarmType("摄像头-视频遮挡", "CAM_HIDEDETECT" ), new AlarmType( "摄像头-移动侦测", "CAM_MOTIONDETECT" ), new AlarmType("摄像头-视频丢失", "CAM_VIDEOLOSE" ),
                                        new AlarmType("摄像头-入侵","CAM_VIDEOLOSE"),new AlarmType("摄像头-入侵","CAM_INTE_INTRUSION"),new AlarmType("摄像头-越界","CAM_INTE_CROSSLINE"),
                                        new AlarmType("摄像头-移走","CAM_INTE_LOSTDETECT"),new AlarmType("摄像头-遗留","CAM_INTE_STATICDETECT"),new AlarmType("摄像头-徘徊","CAM_INTE_WANDERDETECT"),
                                        new AlarmType("摄像头-逆行","CAM_INTE_CONVERSEDETECT"),new AlarmType("摄像头-喷涂","CAM_INTE_DAMAGEDETECT"),new AlarmType("摄像头-信号丢失","CAM_INTE_DROPOUTDETECT"),
                                        new AlarmType("摄像头-画面冻结","CAM_INTE_FREEZEDETECT"),new AlarmType("摄像头-滚屏","CAM_INTE_SCROLLDETECT"),new AlarmType("摄像头-过亮","CAM_INTE_OVERDARKDETECT"),
                                        new AlarmType("摄像头-过暗","CAM_INTE_OVERDARKDETECT"),new AlarmType("摄像头-偏色","CAM_INTE_COLORCASTDETECT"),new AlarmType("摄像头-噪声干扰","CAM_INTE_ELECTRICALNOISEDETECT"),
                                        new AlarmType("摄像头-模糊","CAM_INTE_FOCUSDETECT"),new AlarmType("视频锁定","CU_LOCK_VIDEO"),new AlarmType("云台锁定","CU_LOCK_PTZ")};

C# 数组 结构体 初始化 --------------------编程问答-------------------- 自己顶下 --------------------编程问答-------------------- 如果你嫌这个还麻烦,还有个办法。

你可以用json字符串产生数据,再序列化构造对象,从而批量制造对象。 --------------------编程问答--------------------
引用 2 楼 caozhy 的回复:
如果你嫌这个还麻烦,还有个办法。

你可以用json字符串产生数据,再序列化构造对象,从而批量制造对象。

求具体的例子! --------------------编程问答-------------------- 自己google json 序列化 反序列化 .net --------------------编程问答-------------------- 真的哦,谢谢 --------------------编程问答-------------------- 这个这个,还可以告诉你。你那个构造其实也可以省掉

new AlarmType{AlarmName="a",AlarmId="b"}
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,