3766 votes

Comment pour énumérer un enum

<p>Comment est-ce que vous pouvez énumérer un enum en c# ?<p>par exemple, le texte suivant ne compile pas :</p><pre><code></code></pre><p>Il donne l’erreur de compilation :</p><blockquote> <p>« Costume » est un « type », mais est utilisé comme une « variable »</p> </blockquote><p>Il échoue sur le mot-clé de <em>costume</em> , celui 2e.</p></p>

4613voto

jop Points 31978
<pre><code></code></pre>

695voto

Haacked Points 31070
<p>Il me semble que vous voulez imprimer les noms de chaque enum, plutôt que les valeurs. Dans ce cas <code></code> semble être la bonne approche.<pre><code></code></pre><p>Par ailleurs, l’incrémentation de la valeur n’est pas un bon moyen pour énumérer les valeurs d’un enum. Vous devez procéder à la place.</p><p>Je voudrais utiliser <code></code> à la place.</p><pre><code></code></pre></p>

337voto

bob Points 3408
<p>J’ai fait quelques extensions pour une utilisation facile enum, peut-être que quelqu'un peut l’utiliser...<pre><code></code></pre><p>L’enum elle-même doit être décorée avec <a href="http://msdn.microsoft.com/en-us/library/system.flagsattribute.aspx">FlagsAttribute</a></p><pre><code></code></pre></p>

178voto

Ekevoo Points 906
<p>Le .NET compact framework ne prend pas en charge les Enum.GetValues. Voici une bonne solution de contournement de <a href="http://ideas.dalezak.ca/2008/11/enumgetvalues-in-compact-framework.html">idées 2.0 : Enum.GetValues dans Compact Framework</a>:<pre><code></code></pre></p>

97voto

James Points 507
<p>Je pense que c’est plus efficace que les autres suggestions car GetValues() n’est pas appelée chaque fois que vous avez une boucle. Il est également plus concis. Et vous obtenez une erreur de compilation pas une exception runtime si le costume n’est pas un enum.<pre><code></code></pre><p>EnumLoop a cette définition complètement générique :</p><pre><code></code></pre></p>

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