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

Wie kann ich C#-Enumerationen effizient durchlaufen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-17 09:32:13334Durchsuche

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>

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>

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>

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>

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>

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!

Stellungnahme:
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