J'ai un type enum défini comme suit:Enum pas par défaut à 0 lorsqu'ils ne sont pas définis
public enum OperationTypeEnum : byte
{
/// <remarks/>
@__NONE = 0,
/// <remarks/>
Sale = 1,
/// <remarks/>
Auth = 2
}
Dans mon code, je jette un entier comme ceci:
var operationType = (OperationTypeEnum) anotherIntVariable;
Lorsque anotherIntVariable est quelque chose d'indéfini (par exemple 5), j'espère obtenir 0 ou __NONE de retour (puisque 5 n'est pas défini comme l'une des valeurs d'énumération valides, mais j'en reçois 5 à la place.)
Que dois-je changer pour rendre des valeurs enum non définies à être 0?
Merci!
Je pense que vous êtes le premier à avoir ce problème, et si vous effectuez une recherche sur Internet, vous ne trouverez rien . – Pieter21
regardez [cette question] (http://stackoverflow.com/questions/1758321/casting-ints-to-enums-in-c-sharp) – Jonesopolis
Vous devrez ajouter une validation au-dessus de votre énumération (par ex. Fonction GetValue ou quelque chose) - il n'y a rien de construit pour le faire. –