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

全才欧巴 2013-01-31 06:08:15
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")};

...全文
744 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2013-11-14
  • 打赏
  • 举报
回复
这个这个,还可以告诉你。你那个构造其实也可以省掉 new AlarmType{AlarmName="a",AlarmId="b"}
solardcq 2013-11-14
  • 打赏
  • 举报
回复
真的哦,谢谢
threenewbee 2013-01-31
  • 打赏
  • 举报
回复
自己google json 序列化 反序列化 .net
全才欧巴 2013-01-31
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
如果你嫌这个还麻烦,还有个办法。 你可以用json字符串产生数据,再序列化构造对象,从而批量制造对象。
求具体的例子!
threenewbee 2013-01-31
  • 打赏
  • 举报
回复
如果你嫌这个还麻烦,还有个办法。 你可以用json字符串产生数据,再序列化构造对象,从而批量制造对象。
全才欧巴 2013-01-31
  • 打赏
  • 举报
回复
自己顶下

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧