Sobes.tech
Junior — Middle

Care este diferența dintre cuvintele cheie const și readonly în contextul programării și în ce cazuri este preferabil să le utilizăm?

sobes.tech AI

Răspuns de la AI

În C#, cuvântul cheie const este utilizat pentru a declara constante ale căror valori sunt cunoscute în timpul compilării și nu pot fi modificate în timpul execuției. Astfel de valori trebuie să fie primitive sau literale și trebuie inițializate imediat.

readonly se aplică câmpurilor ale căror valori pot fi stabilite doar la declarare sau în constructorul clasei. După inițializare, valoarea nu poate fi schimbată, dar poate fi calculată în timpul execuției.

Când să folosiți:

  • const — pentru valori imuabile, cunoscute în timpul compilării (de exemplu, numere, șiruri de caractere).
  • readonly — atunci când valoarea este cunoscută doar în timpul execuției, de exemplu, depinde de parametrii constructorului.

Exemplu:

public class Example {
    public const double Pi = 3.1415; // cunoscut în timpul compilării
    public readonly DateTime CreatedAt;

    public Example() {
        CreatedAt = DateTime.Now; // inițializare în timpul execuției
    }
}