序言:我會建議不要使用枚舉項目名稱來表示數據(給定枚舉值和類型的您can get the string name)。我還建議使用隱式賦值的枚舉值作爲細微變化,例如添加或刪除枚舉項目可能會創建細微的不兼容變更/錯誤。
在這種情況下,我可能只是創建一個枚舉值映射到一個字符串格式,如:
public enum WebWizDateFormat
{
DDMMYY = 1,
MMDDYY = 2,
YYDDMM = 3,
YYMMDD = 4,
// but better, maybe, as this abstracts out the "localization"
// it is not mutually exclusive with the above
// however, .NET *already* supports various localized date formats
// which the mapping below could be altered to take advantage
ShortUS = 10, // means "mm/dd/yy",
LongUK = ...,
}
public IDictionary<string,string> WebWizDateFormatMap = new Dictionary<string,string> {
{ WebWizDateFormat.DDMMYY, "dd/mm/yy" },
// "localized" version, same as MMDDYY
{ WebWizDateFormat.ShortUS, "mm/dd/yy" },
... // define for -all-
};
// to use later
string format = WebWizDateFormatMap[WebWizDateFormat.ShortUS];
快樂編碼
如果我默認情況下不誤,該字符串表示的枚舉返回。我現在解釋這個問題,因爲你想使它小寫並添加斜線? – 2011-03-19 17:12:33
@Steven是的,聲明枚舉類型爲dd/mm/yy不起作用 – 2011-03-19 17:13:07
在這種情況下,簡單的字符串操作可能會導致錯誤,但可以考慮使用bobbymcr的回答。 – 2011-03-19 17:14:40