从值中枚举string名称

我有一个像这样的枚举结构:

public enum EnumDisplayStatus { None=1, Visible=2, Hidden=3, MarkedForDeletion=4 } 

在我的数据库中,枚举是通过值引用的。 我的问题是,我怎样才能将枚举的数字表示返回到string名称。

例如,给定2 ,结果应该是Visible

你可以通过简单的转换将int转换回枚举成员,然后调用ToString()

 int value = GetValueFromDb(); EnumDisplayStatus enumDisplayStatus = (EnumDisplayStatus)value; string stringValue = enumDisplayStatus.ToString(); 

如果你需要得到一个string"Visible"而不需要EnumDisplayStatus实例,你可以这样做:

 int dbValue = GetDBValue(); string stringValue = Enum.GetName(typeof(EnumDisplayStatus), dbValue); 

尝试这个:

 string m = Enum.GetName(typeof(MyEnumClass), value); 

你可以投它

 int dbValue = 2; EnumDisplayStatus enumValue = (EnumDisplayStatus)dbValue; string stringName = enumValue.ToString(); //Visible 

啊..肯特击败了我:)

DB到C#

 EnumDisplayStatus status = (EnumDisplayStatus)int.Parse(GetValueFromDb()); 

C#到DB

 string dbStatus = ((int)status).ToString(); 

只需将int转换为枚举types:

  EnumDisplayStatus status = (EnumDisplayStatus) statusFromDatabase; string statusString = status.ToString ();