都用於定義常數。主要有以下區別:
初始化位置不同。
const必須在宣告的同時賦值;readonly既可以在宣告處賦值,也可以在靜態建構方法(必須是靜態建構方法,普通建構方法不行)裡賦值。修飾對象不同。
const即可以修飾類別的欄位,也可以修飾局部變數;readonly只能修飾類別的欄位const是編譯時常數,在編譯時決定該值;readonly是執行時間常數,在執行時決定該值。const預設是靜態的;而readonly如果設定成靜態需要顯示聲明修飾引用型別時不同,
const只能修飾string或值為null的其他引用型別;readonly可以是任何型別。