301 votes

ce qui est la valeur par défaut pour une variable enum

Une variable enum, quelqu'un sait si il est toujours défaillant au premier élément ?

455voto

BoltClock Points 249668

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).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X