.net - 显式设置枚举字段值的优缺点

标签 .net theory

显式设置枚举的字段而不是仅定义它们的名称是否更可取?
例如。 Enum1 与 Enum2 的优缺点是什么?

枚举1:

enum SomeEnum
{
   Something1 = 0,
   Something2 = 1
}

枚举2:
enum SomeEnum
{
   Something1,
   Something2
}

附言这个问题与将存储在数据库中的枚举无关,这需要显式设置值。

编辑:
假设所有值都是 0、1 等......它们不是负数或其他东西。

最佳答案

Enum1 和 Enum2 编译为相同的枚举。所以从编程的角度来看,没有区别。从维护的角度来看,可能有也可能没有问题。

一方面,对于 [Flags] 绝对需要声明显式值。枚举;并且它们需要是 2 的幂的值。

另一方面,显式值可以通过创建将来不能或不应更改的值来降低可维护性。

一般来说,我更喜欢不声明显式值,除非这些值本身由于某种原因很重要——例如,如果您的 C# 枚举包装了 C 枚举。

关于.net - 显式设置枚举字段值的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681285/

相关文章:

regex - 为这些语言编写正则表达式?

algorithm - 什么是计算机科学中的 NP-complete?

c# - 如何从匿名类型中获取属性值?

theory - 是否有保证停止的有限状态机术语?

oop - 好的关系型数据库设计可以将好的面向对象的设计形式化吗?

c# - 使用 AutoMapper 将对象的属性映射到字符串

linear-algebra - Metric 和 Norm 有什么区别?

c# - 使用 svcutil.exe 为多个 WCF 服务创建代理类的错误/警告

c# - LINQPad 在我的类型化数据上下文中调用 dispose

.net - 如何本地化应用程序中所有线程的字符串资源查找?