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
}
}