Quelle est la différence entre const et readonly en C# ?
Quelle est la différence entre const et readonly en C# ?
Quelle est la différence entre const et readonly en C# ?
Re: Quelle est la différence entre const et readonly en C# ?
En dehors de la différence évidente :
- devoir déclarer la valeur au moment de la définition pour `const` VS les valeurs `readonly` peuvent être calculées dynamiquement mais doivent être assignées avant la fin du constructeur. Après cela, elles sont figées.
- les `const` sont implicitement `static`. On utilise la notation `NomDeClasse.NomConstante` pour y accéder.
Il existe une différence subtile. Considérons une classe définie dans `AssemblyA`.
```
public class Const_V_Readonly
{
public const int I_CONST_VALUE = 2;
public readonly int I_RO_VALUE;
public Const_V_Readonly()
{
I_RO_VALUE = 3;
}
}
```
`AssemblyB` fait référence
- devoir déclarer la valeur au moment de la définition pour `const` VS les valeurs `readonly` peuvent être calculées dynamiquement mais doivent être assignées avant la fin du constructeur. Après cela, elles sont figées.
- les `const` sont implicitement `static`. On utilise la notation `NomDeClasse.NomConstante` pour y accéder.
Il existe une différence subtile. Considérons une classe définie dans `AssemblyA`.
```
public class Const_V_Readonly
{
public const int I_CONST_VALUE = 2;
public readonly int I_RO_VALUE;
public Const_V_Readonly()
{
I_RO_VALUE = 3;
}
}
```
`AssemblyB` fait référence