2012年7月26日

当枚举与结构结合时,小心枚举的初始化默认值一定是0

摘要: Allen Lee在他的一篇博文《从枚举的初始化说起 [C#]》详细论述了枚举的各种初始化方式。有评论认为使用new来初始化枚举不是一个好的习惯,这也许可以避免很多枚举的初始化问题,但当枚举与结构结合时,你能避免枚举的初始化吗?我们知道,c#的结构中,是不允许在声明一个实例字段的同时初始化它的。这带来了一个问题,当你声明一个枚举类型的实例字段时,你希望该枚举的第一个成员值是从1开始的,但结构的实例总是把该实例字段初始化为0,这将给你的程序带来陷阱。请看示例: 新建一个c#控制台应用程序。 Program.cs文件:using System;using System.Collections.Ge 阅读全文

posted @ 2012-07-26 14:38 水光 阅读(4211) 评论(7) 推荐(1) 编辑

导航