在 C# 中常數(constant)以關鍵字 const 修飾,在定義時就必須為其賦值(所以,不能在建構函式中為常數賦值),一經賦值,值就不能改變。
const 可以隱式地被解釋為 static readonly,所以常數都是靜態的。
只有在確定一個數值從不變化時才應該使用常數。例如,int 的最小值和最大值都是常數。可將常數看作為一個特殊的欄位。
常數可以為數位、布林值、字串或 null 參照。
常數宣告的型別指定宣告引入的成員型別。
常數區域性變數或常數欄位的初始值設定項必須是一個可以隱式轉換為目標型別的常數表示式。
常數表示式是在編譯時可被完全計算的表示式。 因此,對於參照型別的常數,可能的值只能是 string 和 null 參照。
常數宣告可以宣告多個常數,例如:
public const double X = 1.0, Y = 2.0, Z = 3.0;
不允許在常數宣告中使用 static 修飾符。
常數也可以參與常數表示式,如下所示:
public const int C1 = 5;
public const int C2 = C1 + 100;