公司免费网站域名注册,中国工程建设信息网官网查询,重庆手机网站推广资料,旅游网站策划营销咨询区 Draco#xff1a;我了解enum有一段时间了#xff0c;不过我发现它和 常量 特别像#xff0c;我现在特别想知道什么时候该用 enum 而不是 const#xff0c;反之亦然#xff0c;以及使用 enum 的一些优点。回答区 Andrew Barrett#xff1a;如果你想定义一组值… 咨询区 Draco我了解enum有一段时间了不过我发现它和 常量 特别像我现在特别想知道什么时候该用 enum 而不是 const反之亦然以及使用 enum 的一些优点。回答区 Andrew Barrett如果你想定义一组值可优先选择 enum颜色值就是一个很好的例子。
public enum Colour
{White,Red,Blue
}或者你想定义一些复合值比如下面这样。
[FlagsAttribute]
enum DistributedChannel
{None 0,Transacted 1,Queued 2,Encrypted 4,Persisted 16,FaultTolerant Transacted | Queued | Persisted
}常量一般都是一个值比如说 PI。Robert MacLean常量 是一个定义好之后不可再修改的语言特性而 枚举 只是一个特定类型。const 可以定义成任何类型但 enum 类型就是一个 enum。enum 常出现在有一组可选项并且想提高代码阅读性的地方比如trace级别的012 或 errorwarninginfo。enum 还可以用于位运算比如FontStyle.Bold | FontStyle.Italic 。点评区 两位大佬已经总结的比较全面了我在实践中将那些单一的不变值定义为const比如一些redis的keyRedisKey.RpcList or Redis.ChannelList enum 一般还是在一些组合值中使用用于提高代码可读性。