为什么枚举可以具有两个不同的名称但具有相同的数值?

25 浏览
0 Comments

为什么枚举可以具有两个不同的名称但具有相同的数值?

我刚刚发现一个微妙的错误,我无意中在一个枚举中将两个名称的数值设为相同(在这种情况下是red=10和crimson=10)。我有点惊讶这不是一个语法错误。

public enum Colour
{
    Red=10,
    Blue=11,
    Green=12,
    Crimson=10
}
// Debug.Write(Colour.Red==Colour.Crimson) 输出 True

是否有任何真实世界的原因使得这种行为可能是有用的,或者你认为它应该是一个语法错误?

0