Sobes.tech
Junior — Middle

Чиме се разликују кључне речи const и readonly у контексту програмирања, и у којим случајевима је њихова употреба пожељнија?

sobes.tech АИ

Одговор од АИ

U C#-u, ključna reč const se koristi za deklarisanje konstanti čije vrednosti su poznate u vreme kompajliranja i ne mogu se menjati tokom izvršavanja. Takve vrednosti treba da budu primitivne ili literale i moraju biti odmah inicijalizovane.

readonly se primenjuje na polja čiju vrednost može da se postavi samo prilikom deklaracije ili u konstruktoru klase. Nakon inicijalizacije, vrednost se ne može promeniti, ali može biti izračunata tokom izvršavanja.

Kada koristiti:

  • const — za nepromenljive vrednosti poznate u vreme kompajliranja (npr. brojevi, stringovi).
  • readonly — kada je vrednost poznata samo tokom izvršavanja, na primer, zavisi od parametara konstruktora.

Primer:

public class Example {
    public const double Pi = 3.1415; // poznato u vreme kompajliranja
    public readonly DateTime CreatedAt;

    public Example() {
        CreatedAt = DateTime.Now; // inicijalizacija tokom izvršavanja
    }
}