Sobes.tech
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
    }
}