序言:我会建议不要使用枚举项目名称来表示数据(给定枚举值和类型的您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