![]() |
1
13
Enum1和Enum2编译为相同的枚举。因此,从编程的角度来看,没有区别。从维护的角度来看,可能有问题,也可能没有问题。
通常,我不喜欢声明显式值,除非值本身出于某种原因是重要的——例如,如果您的C#枚举是包装C枚举的话。 |
![]() |
2
7
当需要负值时,它很有用
|
![]() |
3
6
如果需要不连续的值,可以使用Enum1。
此外,显式地设置数字更容易读取,并且在中间添加值不会改变任何其他值。 |
![]() |
4
3
如果值在程序之外具有某种意义,则显式设置这些值非常有用。例如,应用程序可能会编写一个日志文件,该日志文件使用的严重性值可用于以后筛选日志文件。在枚举中显式设置值意味着您可以在代码中使用枚举(例如,严重、错误、警告)而不是数值。在日志文件中,您希望写入数值以便于排序。 我还看到了用于表示数据库引用表中的值的枚举。在这种情况下,您要确保枚举中的项始终具有与数据库表相同的值,并且在枚举的中间插入新项不会使值混乱。 |
![]() |
5
2
如果你真的需要数字,请使用示例1(即,你需要知道某物2实际上等于2) 对于所有其他选项,不要使用数字。这样,您就可以很高兴地向枚举中添加其他项,而无需中断任何其他可能引用您的枚举的代码。 |
![]() |
6
1
在web服务接口上使用不包含值0的枚举时,序列化这些枚举时遇到问题。 |
![]() |
7
1
这取决于您对枚举所做的操作。如果将它们与[Flags]一起使用,则必须显式设置它们。如果您不是,那么从编码的角度来看,任何一种方法都是有效的。但是,为了可读性或(如上所述)在数据库中使用,您应该显式地设置它们。另一个考虑因素是工作场所的编码标准,以及序列化。 |
![]() |
9
1
如果您只需要一组值不重要的类似int的常量,请使用默认值。如果这些值很重要,那么就设置它们。 重要值的一个示例是为位标志创建值,可设置如下:
|
![]() |
10
0
哪些尚未设置 从枚举值 . 这可能是为枚举值显式分配整数值的一个很好的参数,起始整数不是零。当然,除非您将第一个值设置为“NotAssigned”或类似的值。 |
|
goofy126 · 计算理论-DFA[闭合] 7 年前 |
![]() |
Marcos · 是否有一个术语来描述只应使用最后一个值的表格? 7 年前 |
|
ZhaiNan · 这能在O(N log(N))时间内解决3SUM吗? 7 年前 |
![]() |
Kishore · 如何证明(g(n))=O(g(n))(g(n)) 7 年前 |
![]() |
NaSh · 求图中局部最小值/最大值的爬山算法的时间复杂度 9 年前 |
![]() |
magic-sudo · 排序arrya的最有效方法[已关闭] 10 年前 |
![]() |
Dan Drews · 为什么替身能像他们那样工作 11 年前 |