1.使用const關鍵字聲明常量字段和常量局部變量時,常量字段和常量局部變量不是變量且不能改變。==>常量在程序中是不能改變的,而變量是可以改變的。常量可以為數字、布爾值、字符串或 null 引用。 不要創建常量來表示你需要隨時更改的信息。 不允許在常數聲明中使用 static 修飾符。
2.readonly 關鍵字是可以在字段上使用的修飾符。 當字段聲明包括 readonly 修飾符時,該聲明引入的字段賦值只能作為聲明的一部分出現,或者出現在同一類的構造函數中。
readonly 關鍵字與 const 關鍵字不同。 const 字段只能在該字段的聲明中初始化。 readonly 字段可以在聲明或構造函數中初始化。 因此,根據所使用的構造函數,readonly 字段可能具有不同的值。 另外,const 字段為編譯時常數而 readonly 字段可用於運行時常量。
public static readonly uint timeStamp = (uint)DateTime.Now.Tick;
調用時也不同
class Program { static void Main(string[] args) { Console.ForegroundColor = ConsoleColor.Green; //直接使用const值 Console.WriteLine(sample.constValue); //實例化對象後使用 sample2 s2 = new sample2(); Console.WriteLine(s2.readonlyValue); Console.Read(); } class sample { public const int constValue = 10; } class sample2 { public readonly int readonlyValue = 20; } }