What are constants?
Constants are immutable values whose values are known at runtime and cannot be changed in the whole lifetime of a program.
Features of constants
  1. Only C# primitive can be declared as const. Shown below is how a constant is declared.
  2. User-defined Types such as class, struct and arrays cannot be declared as const.
  3. A constant can only be initialized when it is declared and cannot be changed.
    1. // Value assigned during compile time
    2. class A {
    3. public
    4. const int month = 12; //Legal
    5. }
    6. // Value assingement during runtime
    7. class B {
    8. public
    9. const int month;
    10. public B() {
    11. this.month = 12; // illegal
    12. }
    13. }
    When the compiler encounters a constant identifier in C# code, it substitutes the literal value directly into the IL code that produces it because there is no variable address associated with the constant at runtime.