仅使用枚举的第一个char转换为枚举

Vac*_*ano 2 c# enums

我有以下枚举:

public enum GenderContract
{
    Male,
    Female,
    Unknown
}
Run Code Online (Sandbox Code Playgroud)

但我从客户那里得到了'M','F'和'U'的值.

是否有通用的方法从枚举的第一个字符转换为实际的枚举项?(假设名称中没有冲突?)

我有几个这样的场景,我希望能够有一种通用的方法将部分匹配转换为枚举(如果可能的话)(而不仅仅是做一个switch语句或类似的东西).

Art*_*Rey 5

简短的解决方案是使用'M','F'和'U'的char值

public enum GenderContract
{
    Male = 77, // 'M'
    Female = 70, // 'F'
    Unknown = 80 // 'U'
};
Run Code Online (Sandbox Code Playgroud)

然后你就必须这样做

GenderContract c1 = (GenderContract)'M';
GenderContract c2 = (GenderContract)'F';
GenderContract c3 = (GenderContract)'U';
Run Code Online (Sandbox Code Playgroud)