2010-12-22 29 views
0

我想「文件名」爲常數:如何從運行時返回的值構造局部常量?

string filename = "WR" + DateTime.Now.ToString("M_dd_yyyy") + ".xls"; 

我也想保持文件名作爲本地,而不是一個字段(我知道只讀能解決問題呀)

+1

** DateTime.Now **擊敗常量... – 2010-12-22 11:45:44

+0

是的,我知道這一點。它不應該像C++中的常量一樣嗎? – badmaash 2010-12-22 11:47:39

回答

3

可以使用。一個readonly變量。它可以在聲明期間初始化並在構造函數中更改,但在其他位置更改。而且,它只適用於字段,而不適用於局部變量。

private readonly string filename = "WR" + DateTime.Now.ToString("M_dd_yyyy") + ".xls"; 

至於爲什麼你不能使用const這種方式 - 從MSDN

常數表達式是在編譯時完全計算的表達式。

而且,當然DateTime.Now不能。