Sobes.tech
Junior — Middle

Mi a különbség a const és readonly kulcsszavak között a programozás kontextusában, és mely esetekben előnyösebb azok használata?

sobes.tech MI

Válasz az MI-től

C#-ban a const kulcsszóval olyan állandókat lehet deklarálni, amelyek értéke fordítási időben ismert és futás közben nem változtatható meg. Ezek az értékek primitívek vagy literálok kell legyenek, és azonnal inicializálni kell őket.

A readonly mezőket akkor használjuk, amikor az érték csak a deklaráció vagy a osztály konstruktorában állítható be. Az inicializálás után az érték nem módosítható, de futás közben kiszámítható.

Mikor használjuk:

  • const — változatlan értékekhez, amelyek fordítási időben ismertek (pl. számok, szövegek).
  • readonly — amikor az érték csak futás közben ismert, például a konstruktor paramétereitől függően.

Példa:

public class Example {
    public const double Pi = 3.1415; // fordítási időben ismert
    public readonly DateTime CreatedAt;

    public Example() {
        CreatedAt = DateTime.Now; // futás közbeni inicializálás
    }
}