枚举类型的别名
本文关键字:别名 类型 枚举 | 更新日期: 2023-09-27 18:07:45
public enum eEstado
{
Active = 3,
Inactive = 4
}
我需要为枚举属性设置不同的名称(如别名)。例如,对于"Activo",像"Activo"之类的东西。我还需要从值(3,或4)中获取字符串。
谢谢。
将别名值转换为enum值:
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 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"
}
可以在enum中使用任何名称,但不能对string
使用enumpublic enum eEstado
{
// its an valid enum
Activo = 3,
Inactivo = 4
}
和使用enum如string
可以转换成字符串
exm .
strinf s=eEstado.Activo.ToString();
然后if(s==eEstado.Activo.ToString())
{
// do sumthing
}
中's'的值将不为3。它会"激活"我想这会对你有帮助的。
欢迎你的感谢
祝你好运