Wird geladen...

Verwendung von Konstanten und Enums in C#

Lernen Sie die Verwendung von Konstanten und Enums in C#, um sauberen, sicheren und wartbaren Code mit Beispielen zu schreiben.

In der Programmierung gibt es bestimmte Werte, die sich während der gesamten Anwendung niemals ändern. In solchen Fällen werden Konstanten (const) oder Enums verwendet. Konstanten werden verwendet, um einen Wert festzulegen, während Enums dazu dienen, sinnvolle Gruppen von Konstanten zu definieren. Dadurch wird der Code lesbarer, zuverlässiger und einfacher zu warten.


Konstanten (const)

Variablen, die mit dem Schlüsselwort const definiert werden, können während der Programmausführung nicht verändert werden.


const double Pi = 3.14159;
const int MaxUser = 100;

Console.WriteLine("Wert von Pi: " + Pi);
Console.WriteLine("Maximale Benutzer: " + MaxUser);

Hier sind Pi und MaxUser konstante Werte. Sie können im Programm an keiner Stelle geändert werden.


Readonly-Konstanten

Variablen, die mit readonly definiert werden, können nur an der Deklarationsstelle oder innerhalb eines Konstruktors zugewiesen werden. Danach können sie nicht mehr geändert werden.


class Einstellungen
{
    public readonly string Version = "1.0.0";

    public Einstellungen(string version)
    {
        Version = version; // kann im Konstruktor zugewiesen werden
    }
}

Werte, die mit readonly definiert werden, können zur Laufzeit bestimmt werden, was sie von const unterscheidet.


Enum-Definition

Ein enum (Enumeration) ist ein spezieller Datentyp, der eine Gruppe zusammenhängender konstanter Werte enthält. Standardmäßig enthalten Enums Werte vom Typ int.


enum Tage
{
    Montag,
    Dienstag,
    Mittwoch,
    Donnerstag,
    Freitag,
    Samstag,
    Sonntag
}

class Program
{
    static void Main()
    {
        Tage heute = Tage.Mittwoch;
        Console.WriteLine("Heute: " + heute);
        Console.WriteLine("Numerischer Wert von heute: " + (int)heute);
    }
}

In diesem Beispiel wurde ein Enum namens Tage erstellt und der Wert Mittwoch ausgewählt.


Enum-Werte und Verwendung mit Switch

Enum-Werte werden häufig zusammen mit der switch-Anweisung verwendet.


Tage heute = Tage.Freitag;

switch (heute)
{
    case Tage.Montag:
        Console.WriteLine("Wochenanfang.");
        break;
    case Tage.Freitag:
        Console.WriteLine("Fast Wochenende!");
        break;
    case Tage.Sonntag:
        Console.WriteLine("Wochenende.");
        break;
    default:
        Console.WriteLine("Normaler Tag.");
        break;
}

Benutzerdefinierte Werte für Enums

Standardmäßig beginnen Enum-Werte bei 0, aber es können auch benutzerdefinierte Zahlen zugewiesen werden.


enum Fehlercodes
{
    Erfolgreich = 0,
    Warnung = 100,
    Fehler = 200,
    Kritisch = 500
}

class Program
{
    static void Main()
    {
        Fehlercodes code = Fehlercodes.Fehler;
        Console.WriteLine($"Fehlercode: {(int)code} - {code}");
    }
}

Auf diese Weise machen Enums Konstanten wie Fehler- oder Statuscodes aussagekräftiger.


TL;DR

  • const: Konstante Werte zur Compile-Zeit, nicht veränderbar.
  • readonly: Kann nur an der Deklarationsstelle oder im Konstruktor zugewiesen werden.
  • enum: Spezieller Typ, der sinnvolle Gruppen von Konstanten enthält.
  • Enum-Werte können einfach mit switch verwendet werden.