Junior — Middle
Aký je rozdiel medzi kľúčovými slovami const a readonly v kontexte programovania a v ktorých prípadoch je ich použitie výhodnejšie?
sobes.tech AI
Odpoveď od AI
V jazyku C# sa kľúčové slovo const používa na deklaráciu konštánt, ktorých hodnoty sú známe počas kompilácie a počas behu nemôžu byť zmenené. Takéto hodnoty by mali byť primitívne alebo literály a mali by byť ihneď inicializované.
readonly sa aplikuje na polia, ktorých hodnotu je možné nastaviť iba pri deklarácii alebo v konštruktore triedy. Po inicializácii hodnotu nie je možné zmeniť, ale môže byť vypočítaná počas behu.
Kedy použiť:
const— pre nemenné hodnoty známe počas kompilácie (napríklad čísla, reťazce).readonly— keď je hodnota známa iba počas behu, napríklad závisí od parametrov konštruktora.
Príklad:
public class Example {
public const double Pi = 3.1415; // známe počas kompilácie
public readonly DateTime CreatedAt;
public Example() {
CreatedAt = DateTime.Now; // inicializácia počas behu
}
}