public enum eEstado
{
Active = 3,
Inactive = 4
}
我需要为枚举属性设置不同的名称(如别名)。例如,对于“Activo”,类似“Activo”等。另外,我需要从值(3或4)中获取该字符串。
感谢。
答案 0 :(得分:3)
要从别名转换为枚举值:
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);
答案 1 :(得分:3)
很难理解你究竟在问什么,但我认为这会有所帮助:
您可以在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"
}
答案 2 :(得分:-2)
您可以在枚举中使用任何名称,但不能将enum用于字符串
喜欢
public enum eEstado
{
// its an valid enum
Activo = 3,
Inactivo = 4
}
和使用enum一样的字符串
你可以用字符串
转换它EXM。
strinf s=eEstado.Activo.ToString();
然后
if(s==eEstado.Activo.ToString())
{
// do sumthing
}
在这个's'的值不会是3。它将'Activo' 我认为它会帮助你
欢迎您的谢谢
祝你好运