Sobes.tech
Junior — Middle

V čem se liší klíčová slova const a readonly v kontextu programování, a kdy je jejich použití výhodnější?

sobes.tech AI

Odpověď od AI

V jazyce C# se klíčové slovo const používá k deklaraci konstant, jejichž hodnoty jsou známy v době kompilace a během běhu nelze měnit. Tyto hodnoty by měly být primitives nebo literály a měly by být ihned inicializovány.

readonly se používá pro pole, jejichž hodnotu lze nastavit pouze při deklaraci nebo v konstruktoru třídy. Po inicializaci nelze hodnotu změnit, ale může být vypočtena během běhu.

Kdy používat:

  • const — pro neměnné hodnoty známé v době kompilace (například čísla, řetězce).
  • readonly — když je hodnota známa pouze během běhu, například závisí na parametrech konstruktoru.

Příklad:

public class Example {
    public const double Pi = 3.1415; // známo v době kompilace
    public readonly DateTime CreatedAt;

    public Example() {
        CreatedAt = DateTime.Now; // inicializace během běhu
    }
}