Maison >développement back-end >C++ >Comment puis-je parcourir efficacement les énumérations C# ?
Explication détaillée de la méthode de parcours d'énumération C#
Les énumérations C# fournissent une manière structurée de représenter un ensemble fixe de valeurs. Cependant, vous devez parfois parcourir efficacement les valeurs d'une énumération.
C# fournit la méthode Enum.GetValues
à cet effet. Cette méthode accepte un type énumération comme argument et renvoie un tableau contenant la valeur sous-jacente. En convertissant ce tableau en type d'énumération correspondant, vous pouvez facilement parcourir les valeurs d'énumération à l'aide d'une boucle foreach
.
Par exemple, considérons l'énumération suivante :
<code class="language-csharp">public enum Foos { A, B, C }</code>
Pour parcourir les valeurs de cette énumération, vous pouvez utiliser la méthode Enum.GetValues
comme suit :
<code class="language-csharp">var values = Enum.GetValues(typeof(Foos)); foreach (var value in values) { Console.WriteLine(value); }</code>
Ce code affiche les valeurs "A", "B" et "C" sur la console.
De plus, C# fournit un moyen pratique de parcourir les valeurs d'énumération tout en garantissant la sécurité des types. L'extrait de code suivant montre comment y parvenir en utilisant la version typée de la méthode Enum.GetValues
:
<code class="language-csharp">var values = Enum.GetValues(typeof(Foos)).Cast<Foos>(); foreach (var value in values) { // 现在你拥有一个 Foos 类型的强类型值 }</code>
Pour simplifier davantage l'itération de l'énumération, une fonction d'assistance peut être définie dans la base de code. Par exemple :
<code class="language-csharp">public static class EnumUtil { public static IEnumerable<T> GetValues<T>() { return Enum.GetValues(typeof(T)).Cast<T>(); } }</code>
Cette fonction d'assistance peut ensuite être utilisée pour parcourir les valeurs d'énumération comme ceci :
<code class="language-csharp">var values = EnumUtil.GetValues<Foos>(); foreach (var value in values) { // 在这里,你可以访问 Foos 枚举的值 }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!