Aký je rozdiel medzi const a readonly v jazyku C#?

Aký je rozdiel medzi const a readonly v jazyku C#?

Kedy by ste použili jedno namiesto druhého?

To vysvetľuje. Zhrnutie: const sa musí inicializovať v čase deklarácie, readonly sa môže inicializovať v konštruktore (a teda mať inú hodnotu v závislosti od použitého konštruktora).

EDIT: Pozri Gishu'gotcha vyššie pre jemný rozdiel

Komentáre (0)

Const je konštanta v čase kompilácie, zatiaľ čo readonly umožňuje vypočítať hodnotu v čase behu a nastaviť ju v konštruktore alebo inicializátore poľa. Takže 'const' je vždy konštantná, ale 'readonly' je po priradení len na čítanie.

Eric Lippert z tímu C# má viac informácií o rôznych typoch nemennosti

Komentáre (0)

Myslím, že hodnota const je rovnaká pre všetky objekty (a musí byť inicializovaná doslovným výrazom), zatiaľ čo readonly môže byť pre každú inštanciu iná...

Komentáre (0)