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