J'ai remarqué la déclaration d'énumération suivante tout en parcourant un exemple de code. Ce qui n'en est pas = 1 signifie?
public enum ButtonActions { None = 1, Clear, Insert, Delete, Cancel, Close }
4 Réponses :
Il marque la valeur de normalement, sans marqueur, côté Note: Vous pouvez toujours spécifier un nouveau "Démarrer" à tout moment et la commande redémarre. Par exemple: p> maintenant, ce sera le suivant: p> in c #, Ils sont conçus de manière à ce qu'il ne soit pas absolument nécessaire em > savoir ou se soucier du nombre réel que les constantes nommées représentent - c'est en fait pourquoi elles existent du tout, de sorte que vous n'écrivez pas Aucun code>, que toutes les valeurs suivantes comptent implicitement vers le haut à partir de:
Effacer code> sera 2
insérer code> sera de 3
... p> Enum code> S Défaut à commencer à 0 et à compter vers le haut. p>
Aucun code>: 1
Effacer code>: 2
Insérer CODE>: 3
Supprimer CODE>: 7
Annuler Code>: 8
Fermer CODE>: 9 P>
Enum code> S est fortement saisi des ensembles de constantes nommées pour Types intégrés sous-jacents forts> . Même s'ils sont leurs propres types avec leurs propres méthodes, sous les rideaux, tout simplement des chiffres. Lorsque vous comparez un
Enum code> à un autre, il est plus ou moins une comparaison intégrale. P>
3 code> et
5 code> dans votre code partout. Mais cela ne change pas le fait que
Pourriez-vous s'il vous plaît expliquer pourquoi utilisons-nous ces chiffres ..? Parce que lorsque vous utilisez Enums, je comparais généralement la valeur avec une valeur ENUM.
@Sravan parce que parfois la valeur que représente une énumération est importante - par exemple Protocoles de réseau.
Habituellement, lorsque vous faites Je ne suis pas absolument sûr, mais peut-être de cette manière que l'énumération commencera à partir de 1.
Vous pouvez l'essayer simplement "si ( Comme je l'ai dit que je ne suis pas sûr à 100%, mais vous pouvez l'essayer. P> Enum code>, ils sont représentés comme
int code> à partir de 0. p>
aucun == 1 code>)" et vérifiez la valeur de retour. P>
de msdn code>
;
Par défaut, le type sous-jacent de chaque élément de l'énum est
int fort>. p> Les suivants sont des avantages de l'utilisation d'une énumération au lieu d'un numérique Type: p>
Vous spécifiez clairement pour le code client Quelles valeurs sont valides pour la variable. P> LI>
dans Visual Studio, IntelliSense répertorie les valeurs définies. P> LI> ul>
Lorsque vous ne spécifiez pas de valeurs pour les éléments de l'énumérateur Liste, les valeurs sont automatiquement incrémentées par
1 forte>. Lorsque vous créez une énumération, sélectionnez la valeur par défaut la plus logique et donnez-lui une valeur de zéro. Cela fera que toutes les énumes aient cette valeur par défaut si elles ne sont pas explicitement attribuées de valeur lorsqu'elles sont créées. P> BlockQuote> Je crois que l'une des parties la plus importante est la raison pour laquelle nous utilisons ces valeurs est
drapeaux bits forts>. Utilisation avec flagsattribute code>
vous Peut utiliser des opérations bitwiswwise comme et strong>, ou strong>, pas strong> et xor fort> sur vos éléments énumeurs. Exemple demsdn code>
page; < / p>xxx pré> p>
Cela signifie simplement que vous pouvez vous reporter à celui utilisant
ButtonActions bt = (ButtonActions)1;
Un très mauvais énum, causer zéro est indéfini mais peut être créé facilement:
var invalide = par défaut (Buttonactions); code>
@Oliver Ce n'est pas indéfini, il ne dispose que d'un nom. En général, vous ne pouvez pas déjà assumer quoi que ce soit sur la valeur d'ENUM, rien n'empêche un
Enum e {a, b, c} code> de détenir une valeur de 3.