我有这个枚举:
public enum Lang
{
English = 0,
Romaji = 1,
Kana = 2,
Kanji = 3,
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以写:
var a = Lang.English
var b = a;
Run Code Online (Sandbox Code Playgroud)
并设置b为等于0.但是b,"English"如果给出,我可以设置相同的任何方式a吗?
本质上enum是一组命名常量.因此,不使用常量,而是使用它们的名称来使代码更具可读性.
值b将等于命名常量Lang.English,它的类型不会是a,string但它会是Lang.所以施展b到一个int,你会得到0.
但有没有办法,如果给出一个,我可以设b等于"英语"?
是的,您可以尝试以下方法:
string b = Enum.GetName(typeof(Lang),Lang.English);
Run Code Online (Sandbox Code Playgroud)
有关演示,请在此处查看