如何使用枚举值在 C# 中获取枚举键
How to get enum Key in C# using Enum Value
我有 1 个字符串变量,有枚举并且需要将传入的字符串变量与枚举值进行比较,如果找到比较,我需要采用比较的枚举键并分配给一些 int 变量。我怎样才能做到这一点?
我只需要枚举密钥。
例如我有:
public class Enums
{
Admin = 0,
Seller = 1,
Member = 2,
Unknown = 3
}
还有一些基地class:
string tech = “Member”;
foreach(string value in Enum.GetNames(typesof(Enums)))
{
If(tech == value)
{
int enumValueKey = And here I need '2'.
}}}
在 Base class 中,我只有字符串类型的变量,例如(字符串 Admin、字符串 Seller、字符串 Member、字符串 Unknown)。如果找到 1 个比较,则应将 Key 写入 int value,与在 Enums 中找到的值相同。
非常感谢
您可以通过 Enum.Parse
和 typeof
实现
public enum Enums
{
Admin = 0,
Seller = 1,
Member = 2,
Unknown = 3
}
int myEnum = (int)(Enums)Enum.Parse(typeof(Enums), "Seller");
Console.WriteLine(myEnum); // 1
我有 1 个字符串变量,有枚举并且需要将传入的字符串变量与枚举值进行比较,如果找到比较,我需要采用比较的枚举键并分配给一些 int 变量。我怎样才能做到这一点? 我只需要枚举密钥。
例如我有:
public class Enums
{
Admin = 0,
Seller = 1,
Member = 2,
Unknown = 3
}
还有一些基地class:
string tech = “Member”;
foreach(string value in Enum.GetNames(typesof(Enums)))
{
If(tech == value)
{
int enumValueKey = And here I need '2'.
}}}
在 Base class 中,我只有字符串类型的变量,例如(字符串 Admin、字符串 Seller、字符串 Member、字符串 Unknown)。如果找到 1 个比较,则应将 Key 写入 int value,与在 Enums 中找到的值相同。
非常感谢
您可以通过 Enum.Parse
和 typeof
public enum Enums
{
Admin = 0,
Seller = 1,
Member = 2,
Unknown = 3
}
int myEnum = (int)(Enums)Enum.Parse(typeof(Enums), "Seller");
Console.WriteLine(myEnum); // 1