2014-02-28 59 views
-4

問題看起來有點傻,但我需要定義一個字符串常量有兩種可能的長期價值......如何定義在C#多個值恆定

例如:

BS_RUN_STAGE_SUCCESSFUL可代碼:2010和2110也..

在這一種情況,不斷的只有一個:

BS_PROCESS_SUCCESSFUL = 2050 

public const long BS_PROCESS_SUCCESSFUL = 2050; 

什麼想法? 在此先感謝!

+3

該值是否在編譯時決定? –

+1

我同意第一句話。 –

+0

什麼是「另一種情況」?爲什麼你不能定義2個常量,如果決定使用哪一個常量,可以使用它? – Tarec

回答

0

常量只能有一個值,即使你想給在運行時

4

const它的價值不能被改變的是一個承諾,編譯器說:我不會改變這個值。 因此,您的const變量只能有一個值。

既然你說過你希望它來自一個配置文件,你可以聲明它爲readonly,因此一旦你在檢索配置值後設置它,就會阻止任何進一步的修改。

public readonly long BS_PROCESS_SUCCESSFUL = yourMethodToRetrieveTheValue();