'Static readonly' vs. 'const'
'Static readonly' vs. 'const'
'Static readonly' vs. 'const'
Re: 'Static readonly' vs. 'const'
`public static readonly` fields are a little unusual; `public static` properties (with only a `get`) would be more common (perhaps backed by a `private static readonly` field).
`const` values are burned directly into the call-site; this is double edged:
- it is useless if the value is fetched at runtime, perhaps from config
- if you change the value of a const, you need to rebuild all the clients
- but it can be faster, as it avoids a method call...
- ...which might sometimes have been inlined by the JIT anyway
If the value will **never** change, then const is fine - `Zero` etc make reasonable consts ;p Other than that, `static` properties are more common.
`const` values are burned directly into the call-site; this is double edged:
- it is useless if the value is fetched at runtime, perhaps from config
- if you change the value of a const, you need to rebuild all the clients
- but it can be faster, as it avoids a method call...
- ...which might sometimes have been inlined by the JIT anyway
If the value will **never** change, then const is fine - `Zero` etc make reasonable consts ;p Other than that, `static` properties are more common.