Acabo de descubrir un error sutil donde tuve una enumeración con dos nombres que comparten el mismo valor numérico (en este caso rojo = 10 y rojo = 10). Estoy un poco sorprendido de que este no sea un error de sintaxis.¿Por qué está bien que una enumeración tenga dos nombres diferentes con el mismo valor numérico?
public enum Colour
{
Red=10,
Blue=11,
Green=12,
Crimson=10
}
// Debug.Write(Colour.Red==Colour.Crimson) outputs True
¿Hay alguna razón real por qué este comportamiento podría ser un útil o sí creo que debe ser un error de sintaxis?
Pensé que era tan inteligente por pensar en preguntar esto más de tres años después de que se le preguntó originalmente. – MrBoJangles
Consulte las pautas de MSDN para el diseño enum: http://msdn.microsoft.com/en-us/library/ms229058.aspx En el espíritu de esto, diría que, aunque técnicamente es posible, es probable que no recomendado. – Technobabble
@MrBoJangles, luego volvería a preguntar lo mismo 16 meses después de ti. –