为什么枚举可以具有两个不同的名称但具有相同的数值?
我刚刚发现一个微妙的错误,我无意中在一个枚举中将两个名称的数值设为相同(在这种情况下是red=10和crimson=10)。我有点惊讶这不是一个语法错误。
public enum Colour
{
Red=10,
Blue=11,
Green=12,
Crimson=10
}
// Debug.Write(Colour.Red==Colour.Crimson) 输出 True
是否有任何真实世界的原因使得这种行为可能是有用的,或者你认为它应该是一个语法错误?