public enum eEstado
{
Active = 3,
Inactive = 4
}
我需要为枚举属性设置不同的名称(如别名)。例如,对于“Activo”,类似于“Activo”等。我还需要从值(3 或 4)中获取该字符串。
谢谢。
要将别名转换为枚举值:
public static eEstado AliasToEstado(string alias)
{
switch(alias)
{
case "Activo": return eEstado.Active;
case "Inactivo": return eEstado.Inactive;
default: throw new ArgumentException(alias);
}
}
从枚举值转换为别名:
public static string EstadoToAlias(eEstado value)
{
switch(value)
{
case eEstado.Active: return "Activo";
case eEstado.Inactive: return "Inactivo";
default: throw new ArgumentException(value);
}
}
从 int 值转换为别名:
int value = 3;
string alias = EstadoToAlias((eEstado)value);
很难理解你到底在问什么,但我认为这会有所帮助:
您可以有多个名称具有相同的值enum
:
public enum Status
{
Undefined = 0,
Active = 1,
Inactive = 2,
Default = Active
}
你可以从一个字符串中解析
static void Main(string[] args)
{
Status status = Status.Default;
string new_status = "Inactive";
status = (Status)Enum.Parse(typeof(Status), new_status);
Console.WriteLine(status.ToString());
// prints "Inactive"
status = (Status)1;
Console.WriteLine(status.ToString());
// prints "Active"
}
您可以在枚举中使用任何名称,但不能将枚举用于字符串
像
public enum eEstado
{
// its an valid enum
Activo = 3,
Inactivo = 4
}
并使用像字符串这样的枚举
您可以将其转换为字符串
出口。
strinf s=eEstado.Activo.ToString();
然后
if(s==eEstado.Activo.ToString())
{
// do sumthing
}
在此 's' 的值不会 3 。它会“Activo”,我认为它会对你有所帮助
欢迎您的感谢
祝你好运