常量字段定義

2021-06-07 20:11:08 字數 469 閱讀 7853

       隱含為static

       必須在宣告時初始化

       必須被初始化為編譯時常量值

       只有簡單型別,列舉,字串才可以是常量

常量字段**:

class pair

...private const int x = 0, y = 0;

}**解析:

在c#中,常量字段隱含為static,但你不能顯式宣告乙個常量欄位是static:

static const int x = 0;//錯誤

常量必須被初始化,並且只能在宣告時初始化:

const int x;//錯誤

常量必須被初始化為編譯時常量值:

const int x = method();//錯誤

只有簡單型別,列舉,字串才能被宣告為常量:

const pair p = new pair();//錯誤

常量和字段

定義常量符號時,它的值必須能在編譯時確定。確定之後,編譯器將常量的值儲存到程式集的元資料中。這意味著只能為編譯器認定的基元型別定義常量。在c 中,以下型別都是基元型別,可以定義常量 boolean char byte sbyte int16 uint16 int32 uint32 int64 uin...

欄位VS常量

常量和字段都是型別的資料成員,但是區別卻是很大的。1.常量的值永遠不會改變。欄位有多種型別,非唯讀欄位的值是可以改變的。2.常量的值必須在編譯時就確定,也就是說在定義時就要賦值。編譯後常量的值就儲存在程式集的元資料中 欄位是儲存在動態記憶體中,在執行時才能得到欄位的值。3.常量的定義必須用基元型別,...

十八 常量和字段

常量就是定義完以後就永遠不會再改變的符號,它的值是在編譯時必須確定的,編譯通過後,編譯器將常量的值儲存在程式集的元資料中,定義常量將導致元資料的產生,常量只能是基元型別。因為常量的值不會被改變,所以可以說常量是型別的一部分,而不是例項成員的,是靜態的。當 引用乙個常量符號時,編譯器將在定義常量的程式...