J'ai créé simple ENUM en C# comme suitproblème en ce qui concerne l'attribution des numéros à un ENUM variables
enum Direction
{
North,
South,
East,
West
}
Maintenant, je crée une variable de ce ENUM Direction:
Direction D = (Direction)3;
Console.WriteLine(D.ToString());
Chaque Tout va bien et le code fonctionne comme prévu et donne ce qui suit en sortie.
West
mais maintenant si je change le code un peu comme:
Direction D = (Direction)8;
Console.WriteLine(D.ToString());
il donne suite en sortie:
8
Alors enfin les questions me sont venues à l'esprit sont:
- Pourquoi cela se fait-il lorsque le maximum acceptable v alue est 3.
- Si c'est accepté au moment de la compilation, alors pourquoi il ne lève aucune exception alors que le framework .net est encore un framework robuste.
- Et enfin, mais non le moindre, si tout ne va pas attendre pourquoi il donne la sortie 8.
Merci à copains d'avance :)
GURU
Salut merci à dtb pour m'avoir donné une réponse si merveilleuse mais ici je voudrais ajouter un peu plus que j'ai trouvé quelque part sur msdn. Je peux utiliser le code suivant: Enum.IsDefined (typeof (Direction), 8) pour vérifier si 8 est une valeur valide de pas avant de l'assigner. :) – necixy