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
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