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字符串产生数据,再序列化构造对象,从而批量制造对象。 --------------------编程问答--------------------
求具体的例子! --------------------编程问答-------------------- 自己google json 序列化 反序列化 .net --------------------编程问答-------------------- 真的哦,谢谢 --------------------编程问答-------------------- 这个这个,还可以告诉你。你那个构造其实也可以省掉
new AlarmType{AlarmName="a",AlarmId="b"}
补充:.NET技术 , C#