Sobes.tech
Junior — Middle

Kuidas erinevad programmeerimises märksõnad const ja readonly ning millistel juhtudel on nende kasutamine eelistatud?

sobes.tech AI

Vastus AI-lt

C# keeles kasutatakse märksõna const konstantide deklaratsiooniks, mille väärtused on teada kompilatsiooni ajal ja mida ei saa käivitamise ajal muuta. Sellised väärtused peaksid olema primitiivsed või literaalid ning neid tuleb kohe algatada.

readonly rakendub väljadele, mille väärtust saab määrata ainult deklaratsiooni või klassi konstruktoris. Pärast algatamist ei saa väärtust muuta, kuid seda saab arvutada käivitamise ajal.

Millal kasutada:

  • const — muutumatute väärtuste jaoks, mis on teada kompilatsiooni ajal (näiteks numbrid, stringid).
  • readonly — kui väärtus on teada ainult käivitamise ajal, näiteks sõltub konstruktoriparameetritest.

Näide:

public class Example {
    public const double Pi = 3.1415; // teada kompilatsiooni ajal
    public readonly DateTime CreatedAt;

    public Example() {
        CreatedAt = DateTime.Now; // algatamine käivitamise ajal
    }
}