C # detailed usage of const and readonly,
1. When the const keyword is used to declare constant fields and constant local variables, constant fields and constant local variables are not variables and cannot be changed. ==> Constants cannot be changed in the program, but variables can be changed. Constants can be numbers, Boolean values, strings, or null references. Do not create constants to indicate the information you need to change at any time. Static modifiers cannot be used in constant declarations.
2. The readonly keyword is a modifier that can be used on a field. When a field Declaration includes a readonly modifier, the value assignment introduced by this Declaration can only appear as part of the Declaration, or in constructors of the same type.
The readonly keyword is different from the const keyword. The const field can only be initialized in the declaration of this field. The readonly field can be initialized in the Declaration or constructor. Therefore, the readonly field may have different values based on the constructors used. In addition, the const field is the compile time, while the readonly field can be used for the run time.
public static readonly uint timeStamp = (uint)DateTime.Now.Tick;
Different calls
Class Program {static void Main (string [] args) {Console. foregroundColor = ConsoleColor. green; // directly use the const value Console. writeLine (sample. constValue); // use sample2 s2 = new sample2 (); Console. writeLine (s2.readonlyValue); Console. read () ;}class sample {public const int constValue = 10 ;}class sample2 {public readonly int readonlyValue = 20 ;}}