Почему перечисление может иметь два разных имени с одинаковым числовым значением?C#

Место общения программистов C#
Anonymous
Почему перечисление может иметь два разных имени с одинаковым числовым значением?

Сообщение Anonymous »

Я только что обнаружил тонкую ошибку: у меня было перечисление с двумя именами, непреднамеренно имеющими одно и то же числовое значение (в данном случае red=10 и crimson=10). Я немного удивлен, что это не синтаксическая ошибка.

Код: Выделить всё

public enum Colour
{
Red=10,
Blue=11,
Green=12,
Crimson=10
}
// Debug.Write(Colour.Red==Colour.Crimson) outputs True
Есть ли какая-либо реальная причина, по которой такое поведение может быть полезным, или вы считаете, что это должна быть синтаксическая ошибка?

Вернуться в «C#»