所有,我要做的是:
找出字符串是否是有效的Enum元素,如果是,则返回状态.
类似的东西,如果我有一个枚举说Enum_Test,它又由红色,蓝色,绿色组成.
现在,如果蓝色是要验证的元素,我会使用类似的东西
Enum_Test evalue;
if(Enum.TryParse(string_Verify, true, out evalue))
{
return true;
}
Run Code Online (Sandbox Code Playgroud)
或者我有另一种选择,
if( Enum.IsDefined(typeof(Enum_Test), string_Verify))
{
return true;
}
Run Code Online (Sandbox Code Playgroud)
上述方法的优点和缺点是什么?
第一种方法的优点:它不区分大小写:如果你得到blue,并且有一个枚举成员Blue,一切都会好的.
第二种方法的优点:它是自我记录的:你真的不想解析,你想检查是否有一个用给定名称定义的枚举值.因此,在第二种情况下,方法的名称更符合您的意图.
也就是说,如果你想要两个优点,请使用第一种方法并将其封装到一个命名良好的方法中(例如IsEnumDefinedIgnoreCase).
| 归档时间: |
|
| 查看次数: |
2632 次 |
| 最近记录: |