匹配字符串到枚举?

use*_*885 4 c#

我正在使用第三方DLL,它希望在方法签名中使用名为"DaysOfWeek"的枚举.

我允许我的用户从ComboBox中选择星期几,但我最终得到了一个字符串.

如何将我的字符串与相应的枚举属性匹配?

谢谢!

rui*_*rui 45

Enum.Parse(typeof(DaysOfWeek), yourStringValue, true);
Run Code Online (Sandbox Code Playgroud)

注意:如果字符串不能转换为枚举,则会启动异常.最后一个参数用于不区分大小写的搜索.

  • +1用于添加异常信息和最后一个参数信息 (4认同)

LBu*_*kin 17

您可以使用以下命令将字符串转换为枚举:

 DaysOfWeek value = (DaysOfWeek)Enum.Parse( typeof(DaysOfWeek), enumAsString );
Run Code Online (Sandbox Code Playgroud)

如果用户可以键入自己的值,也可以使用不区分大小写的重载:

 DaysOfWeek value = (DaysOfWeek)Enum.Parse( typeof(DaysOfWeek), enumAsString, true );
Run Code Online (Sandbox Code Playgroud)