C#-Aufzählung (Aufzählung) mit Beispiel
⚡ Intelligente Zusammenfassung
Aufzählungen in C# definieren benannte Mengen konstanter ganzzahliger Werte, wie beispielsweise die Wochentage, und erleichtern so die Lesbarkeit und Wartung des Codes. Das Schlüsselwort `enum` deklariert diese festen Konstanten einmalig zur Wiederverwendung im gesamten Programm.

C#-Aufzählung
Eine Aufzählung wird in jeder Programmiersprache verwendet, um einen konstanten Satz von Werten zu definieren. Beispielsweise können die Wochentage als Aufzählung definiert und an einer beliebigen Stelle im Programm verwendet werden. In C# wird die Aufzählung mit Hilfe des Schlüsselworts „enum“ definiert.
Sehen wir uns ein Beispiel an, wie wir das Schlüsselwort „enum“ verwenden können.
In unserem Beispiel definieren wir eine Aufzählung namens Tage, die zum Speichern der Wochentage verwendet wird. Für jedes Beispiel ändern wir nur die Hauptfunktion in unserer Datei Program.cs.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { enum Days{Sun,Mon,tue,Wed,thu,Fri,Sat}; static void Main(string[] args) { Console.Write(Days.Sun); Console.ReadKey(); } } }
Code Erläuterung:-
- Die „Aufzählung“ Datentyp wird angegeben, um eine Aufzählung zu deklarieren. Der Name der Aufzählung ist Days. Alle Wochentage werden als Werte der Enumeration angegeben.
- Abschließend wird die Funktion console.write verwendet, um einen der Werte der Aufzählung anzuzeigen.
Wenn der obige Code richtig eingegeben und das Programm erfolgreich ausgeführt wird, wird die folgende Ausgabe angezeigt.
Ausgang:
Anhand der Ausgabe können Sie erkennen, dass der „Sun“-Wert der Aufzählung in der Konsole angezeigt wird.
Warum sollte man Enums in C# verwenden?
Aufzählungen (Enumerationen) machen ein Programm lesbarer, sicherer und einfacher zu warten. Anstatt unerklärte Zahlen, sogenannte magische Zahlen, im gesamten Code zu verteilen, weist eine Aufzählung jedem Wert einen beschreibenden Namen zu, der seine Bedeutung verdeutlicht.
- Ablesbarkeit: Ein Name wie Days.Fri ist viel aussagekräftiger als die Zahl 5, sodass jeder, der den Code liest, die Bedeutung sofort versteht.
- Typensicherheit: Eine mit einem Enum-Typ deklarierte Variable kann nur eines der definierten Elemente enthalten, wodurch verhindert wird, dass ungültige Werte hineinrutschen.ping in.
- Wartbarkeit: Zusammengehörige Konstanten befinden sich an einem zentralen Ort, sodass das Hinzufügen oder Umbenennen eines Wertes das gesamte Programm konsistent aktualisiert.
- Datenbindung: Frameworks wie WPF und ASP.NET können eine Enumeration an eine Dropdown-Liste binden, wodurch Enumerationen für die Erstellung von Benutzeroberflächen nützlich werden.
Da der Compiler jede Zuweisung anhand der zulässigen Elemente überprüft, helfen Enums auch dabei, Fehler frühzeitig zu erkennen, bevor das Programm ausgeführt wird.
Zuweisen benutzerdefinierter Werte zu einer C#-Enumeration
Standardmäßig weist C# dem ersten Enumerationselement den Wert 0 zu und erhöht jedes nachfolgende Element um eins. In der obigen Tage-Enumeration entspricht Sun dem Wert 0, Mon dem Wert 1 und Sat dem Wert 6. Sie können diese Standardwerte überschreiben, indem Sie explizite Zahlen zuweisen.
- Explizite Werte: Mit enum Level {Low = 1, Medium = 5, High = 10} wird jedem Element eine ausgewählte Zahl anstelle der Standardsequenz zugewiesen.
- Teilzuweisung: Wenn Sie nur einigen Elementen einen Wert zuweisen, setzt der Compiler die Nummerierung der nachfolgenden Elemente ab dem zuletzt zugewiesenen Wert fort.
- Zugrundeliegender Typ: Ein Enum speichert seine Elemente standardmäßig als int, aber Sie können es auf byte, short oder long basieren lassen, um Speicherplatz zu sparen oder den Wertebereich zu erweitern.
Benutzerdefinierte Werte sind hilfreich, wenn die Zahlen mit einem externen System übereinstimmen müssen, z. B. mit Datenbankcodes oder Protokollkonstanten, damit die Aufzählung die realen Daten exakt widerspiegelt.
Wie man C#-Enumerationen in int, string und Flags konvertiert
In C# ist es häufig erforderlich, einen Enum-Wert in eine andere Form zu konvertieren, beispielsweise um ihn als Zahl zu speichern oder aus einem Text wieder einzulesen. Diese Konvertierungen erfolgen auf verschiedene Standardarten.
- Enum zu int: Eine explizite Typumwandlung wie (int)Days.Wed gibt die zugrunde liegende Ganzzahl zurück, was für die Speicherung oder Arithmetik nützlich ist.
- int zu enum: Eine Typumwandlung in die andere Richtung, zum Beispiel (Days)3, wandelt eine Zahl wieder in das entsprechende Enum-Element um.
- String zu Enum: Enum.Parse und das sicherere Enum.TryParse konvertieren einen Namen wie „Fri“ in das Days.Fri-Element, ohne bei ungültigem Text eine Ausnahme auszulösen.
- Enum zu String: Der Aufruf von ToString für ein beliebiges Element gibt dessen Namen zurück, sodass Days.Sun.ToString() „Sun“ für die Anzeige oder Protokollierung erzeugt.
- Mitgliederliste: Enum.GetValues und Enum.GetNames geben jeden Wert bzw. Namen zurück, was beim Befüllen von Menüs oder bei der Validierung von Eingaben hilfreich ist.
Soll ein Enum eine Kombination von Auswahlmöglichkeiten anstatt nur einer darstellen, verwenden Sie das Attribut „Flags“ und weisen Sie jedem Element eine Zweierpotenz zu, z. B. 1, 2, 4 oder 8. Anschließend können Sie die Elemente mit dem bitweisen OR-Operator verknüpfen und mit der Methode „HasFlag“ auf eine bestimmte Option prüfen.
Diese Konvertierungstechniken ermöglichen es einem Enum, sauber zwischen lesbaren Namen, gespeicherten Zahlen und kombinierten Flag-Sets zu wechseln.ping Der Rest des Programms ist sowohl typsicher als auch leicht verständlich.


