String constants are newer than "inlined" * because they are true objects. The compiler will always combine parts of the same string constant added together (that is, "A" + "b" is identical to specifying "ab").
String constants can also βinternβ - all constants of the same value refer to the same actual string object (as far as I know, the C # compiler always does this).
Numeric constants can be "embedded" in those places where they are used in addition to always calculated as much as possible at compile time (i.e. 2 * 2 * 4 is identical to job 16).
To achieve the behavior of "shared constant" you need to use readonly fields instead of const .
* "inline" as placed in the resulting code directly instead of referencing a public value.
source share