What is the difference between constantand readonly in c#?


  1. Const can only be initialized at the time of declaration of the field.
  2. Const values will evaluate at compile time only.
  3. Const value can’t be changed these will be same at all the time.
  4. This type of fields are required when one of the field values remains constant throughout the system like Pi will remain same in your Maths Class.


  1. The value will be initialized either declaration time or the constructor of the class allowing you to pass the value at run time.
  2. Read only values will evaluate at runtime only.

public class Const_VS_Readonly


public const int I_CONST_VALUE = 2;

public readonly int I_RO_VALUE;

public Const_VS_Readonly()





Suppose if you want the value of the constant won’t change use a const or if you have a constant that may change or when in doubt, use a readonly.  I hope it helps.




Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s