常量和只讀變量的區別
const string name="Xuj";
readonly string name;
1、常量是不可改變的,只讀變量只能在構造方法中才能改變其值。
2、C#編譯器在編譯的時候,聲明常量的那句話不見了,在使用常量的時候就被常量的值替代了,在些數據在整個程序的運行中其值不會發生改變,我們就把這個值定義為常量,以提高程序的運行效率。
3、readonly是運行時確定值,const是編譯時必須確定其值。
Eg:
readonly string qq=System.ConfigrationManager.AppSettings[qq].ToString();//右邊的內容只有在運行的時候才會被執行,所以這句話無誤
const string qq=System.ConfigrationManager.AppSettings[qq].ToString();//const是在編譯時候確定其值的,所以這句話出錯。