值的枚举字符串名称

只谈情不闲聊 提交于 2020-02-28 10:16:54

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

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

在我的数据库中,枚举由值引用。 我的问题是,如何将枚举的数字表示形式转回字符串名称。

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


#1楼

如果您需要获取字符串"Visible"而不获取EnumDisplayStatus实例,则可以执行以下操作:

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

#2楼

您可以使用简单的强制转换将int转换回枚举成员,然后调用ToString()

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

#3楼

你可以施展它

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

啊..肯特打败了我:)


#4楼

只需将int强制转换为枚举类型:

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

#5楼

DB到C#

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

C#到DB

string dbStatus = ((int)status).ToString();
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!