//代碼段1
throw new Exception("沒有查詢到記錄。");
//代碼段2
const string ExceptionMessage="沒有查詢到記錄。";
throw new Exception(ExceptionMessage);
//代碼段3
ComOutput.SetComOutput(1);
//代碼段4
const int One = 1;
ComOutput.SetComOutput(One );
像這樣的字符串"沒有查詢到記錄。"或1全部用常量來表示,是不是有助于性能提升?謝謝各位指教,不勝感激
3 回答

largeQ
TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
答案:一般情況const得確有助性能提升。
解釋:C#編譯器編譯的時(shí)候會(huì)將常量直接保存到程序集元數(shù)據(jù)中,這樣在運(yùn)行時(shí)無需為常量分配內(nèi)存,而是直接從元數(shù)據(jù)中讀取。
弊端:常量的優(yōu)點(diǎn)同時(shí)也帶來了一個(gè)弊端,當(dāng)我們的項(xiàng)目很大時(shí),需要分布到多個(gè)程序集,當(dāng)我們業(yè)務(wù)需要改變一個(gè)程序集中常量數(shù)值的時(shí)候,我們修改完程序集中常量,編譯的時(shí)候需要整個(gè)項(xiàng)目整體再編譯一次,修改后的常量才會(huì)生效。
- 3 回答
- 0 關(guān)注
- 452 瀏覽
添加回答
舉報(bào)
0/150
提交
取消