‘Static readonly’ vs. ‘const’
'Static readonly' vs. 'const'
Re: 'Static readonly' vs. 'const'
Les champs public static readonly sont un peu inhabituels ; les propriétés public static (avec uniquement un get) seraient plus courantes (éventuellement soutenues par un champ private static readonly).
Les valeurs const sont directement intégrées au site d’appel ; c’est une arme à double tranchant :
c’est inutile si la valeur est récupérée à l’exécution, peut-être depuis une configuration
si vous changez la valeur d’une const, vous devez recompiler tous les clients
mais cela peut être plus rapide, car cela évite un appel de méthode…
…qui aurait parfois pu être inliné par le JIT de toute façon
Si la valeur ne changera jamais, alors const convient parfaitement - Zero etc. font des constantes raisonnables ;p Sinon, les propriétés static sont plus courantes.