Heim > Backend-Entwicklung > C++ > Wie kann ich C#-Enumerationen effizient durchlaufen?

Wie kann ich C#-Enumerationen effizient durchlaufen?

Linda Hamilton
Freigeben: 2025-01-17 09:32:13
Original
331 Leute haben es durchsucht

How Can I Efficiently Iterate Through C# Enumerations?

Detaillierte Erläuterung der C#-Enumeration-Traversal-Methode

C#-Enumerationen bieten eine strukturierte Möglichkeit, einen festen Satz von Werten darzustellen. Manchmal müssen Sie jedoch die Werte in einer Aufzählung effizient durchlaufen.

C# stellt hierfür die Methode Enum.GetValues bereit. Diese Methode akzeptiert einen Aufzählungstyp als Argument und gibt ein Array zurück, das den zugrunde liegenden Wert enthält. Durch die Konvertierung dieses Arrays in den entsprechenden Enum-Typ können Sie bequem mithilfe einer foreach-Schleife über die Enum-Werte iterieren.

Betrachten Sie beispielsweise die folgende Aufzählung:

<code class="language-csharp">public enum Foos
{
    A,
    B,
    C
}</code>
Nach dem Login kopieren

Um die Werte dieser Aufzählung zu durchlaufen, können Sie die Methode Enum.GetValues wie folgt verwenden:

<code class="language-csharp">var values = Enum.GetValues(typeof(Foos));

foreach (var value in values)
{
    Console.WriteLine(value);
}</code>
Nach dem Login kopieren

Dieser Code gibt die Werte „A“, „B“ und „C“ an die Konsole aus.

Darüber hinaus bietet C# eine praktische Möglichkeit, über Aufzählungswerte zu iterieren und gleichzeitig die Typsicherheit zu gewährleisten. Der folgende Codeausschnitt zeigt, wie dies mit der typisierten Version der Enum.GetValues-Methode erreicht wird:

<code class="language-csharp">var values = Enum.GetValues(typeof(Foos)).Cast<Foos>();

foreach (var value in values)
{
    // 现在你拥有一个 Foos 类型的强类型值
}</code>
Nach dem Login kopieren

Um die Aufzählungsiteration weiter zu vereinfachen, kann in der Codebasis eine Hilfsfunktion definiert werden. Zum Beispiel:

<code class="language-csharp">public static class EnumUtil
{
    public static IEnumerable<T> GetValues<T>()
    {
        return Enum.GetValues(typeof(T)).Cast<T>();
    }
}</code>
Nach dem Login kopieren

Diese Hilfsfunktion kann dann verwendet werden, um die Aufzählungswerte wie folgt zu durchlaufen:

<code class="language-csharp">var values = EnumUtil.GetValues<Foos>();

foreach (var value in values)
{
    // 在这里,你可以访问 Foos 枚举的值
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich C#-Enumerationen effizient durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage