All About Constants

Constants are immutable values whose values are known at run time and cannot be changed in whole life time of program.

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.