1)Can not be static.
2)The value is evaluated at compile time.
3)It is initialized at declaration only.
4)the const keyword is used for compile-time constants
1)Can be either instance-level or static.
2)The value is evaluated at run time.
3)It can be initialized in declaration or by code in the constructor. Therefore, readonly fields can have different values depending on the constructor used.
4)the readonly keyword is used for runtime constants.