Const vs readonly: champs constants
De Banane Atomic
Aller à la navigationAller à la recherche
Ce sont des champs qui prennent leur valeur à l'initialisation puis ne peuvent plus être modifiés.
const
- Est considéré comme static
- Évalué à la compilation.
- Doit être initialisé lors de sa déclaration.
const et types référence
Un champs const de type référence doit être initialisé à null, à l'exception de string. |
const double[] monTableau = { 1, 2, 3}; // Error monTableau is of type 'double[]'. // A const field of a reference type other than string can only be initialized with null. static readonly ReadOnlyCollection<double> monTableau = new List<double> { 1, 2, 3}.AsReadOnly(); |
readonly
- Peut être static ou non.
- Évalué à l'exécution.
- Doit être initialisé lors de sa déclaration ou dans le constructeur.