带有常量的结构:
public struct UserType
{
public const int Admin=1;
public const int Browser=2;
public const int Operator=3;
}
现在让我们为同样的目的使用一个枚举:
public enum UserType
{
Admin=1,
Browser,
Operator
}
两者都分配在堆栈上。在这两种情况下,我都会说 UserType.Admin。使用 struct 方式,我不必强制转换为 int 来获取基础值。我知道使用 enum 版本可以保证使用三个值中的一个且只有一个,而使用 struct 版本可以是任何整数used,表示 Int32.MinValue 和 Int32.MaxValue 之间的任何值。除了这个之外,更喜欢枚举还有其他好处吗?