Sobes.tech
Junior — Middle

Worin unterscheiden sich die Schlüsselwörter const und readonly im Kontext der Programmierung, und in welchen Fällen ist ihre Verwendung vorzuziehen?

sobes.tech KI

Antwort von AI

In C# wird das Schlüsselwort const verwendet, um Konstanten zu deklarieren, deren Werte zur Kompilierungszeit bekannt sind und während der Laufzeit nicht geändert werden können. Solche Werte sollten primitive oder literale Werte sein und sofort initialisiert werden.

readonly wird für Felder verwendet, deren Wert nur bei der Deklaration oder im Konstruktor der Klasse festgelegt werden kann. Nach der Initialisierung kann der Wert nicht mehr geändert werden, aber er kann zur Laufzeit berechnet werden.

Wann verwenden:

  • const — für unveränderliche Werte, die zur Kompilierungszeit bekannt sind (z.B. Zahlen, Strings).
  • readonly — wenn der Wert nur zur Laufzeit bekannt ist, z.B. abhängig von Konstruktorparametern.

Beispiel:

public class Example {
    public const double Pi = 3.1415; // bekannt zur Kompilierungszeit
    public readonly DateTime CreatedAt;

    public Example() {
        CreatedAt = DateTime.Now; // Laufzeitinitialisierung
    }
}