Junior — Middle
Qual è la differenza tra le parole chiave const e readonly nel contesto della programmazione, e in quali casi è preferibile usarle?
sobes.tech AI
Risposta dell'AI
In C#, la parola chiave const viene utilizzata per dichiarare costanti i cui valori sono noti in fase di compilazione e non possono essere modificati durante l'esecuzione. Tali valori devono essere primitivi o letterali e devono essere inizializzati immediatamente.
readonly si applica ai campi il cui valore può essere impostato solo durante la dichiarazione o nel costruttore della classe. Dopo l'inizializzazione, il valore non può essere modificato, ma può essere calcolato durante l'esecuzione.
Quando usare:
const— per valori immutabili noti in fase di compilazione (ad esempio, numeri, stringhe).readonly— quando il valore è noto solo durante l'esecuzione, ad esempio, dipende dai parametri del costruttore.
Esempio:
public class Example {
public const double Pi = 3.1415; // noto in fase di compilazione
public readonly DateTime CreatedAt;
public Example() {
CreatedAt = DateTime.Now; // inizializzazione durante l'esecuzione
}
}