Une variable enum, quelqu'un sait si il est toujours défaillant au premier élément ?
Réponse
Trop de publicités?C'est tout ce membre de l'énumération représente la valeur 0
. Plus précisément, à partir de la documentation:
La valeur par défaut d'un
enum E
est la valeur produite par l'expression(E)0
.
Prenez par exemple l'enum ci-dessous:
enum E
{
Foo, Bar, Baz, Quux
}
Sans écraser les valeurs par défaut, l'impression d' default(E)
retours Foo
puisque c'est la première survenant élément.
Cependant, il n'est pas toujours le cas qu' 0
d'un enum est représenté par le premier membre. Par exemple, si vous faites cela:
enum F
{
// Give each element a custom value
Foo = 1, Bar = 2, Baz = 3, Quux = 0
}
L'impression default(F)
vous donnera Quux
, pas Foo
.
Si aucun des éléments dans un enum G
correspondent à des 0
:
enum G
{
Foo = 1, Bar = 2, Baz = 3, Quux = 4
}
default(G)
retourne littéralement 0
, bien que son type reste G
(cité par les docs ci-dessus, un cast vers le type enum).