C# 反向常数
有没有办法在C#中实现反向枚举或常量文件?我有一个列表中的ID,希望将一个常量字符串映射到此ID。我想到的是这样的东西: 常规C# 反向常数,c#,enums,constants,C#,Enums,Constants,有没有办法在C#中实现反向枚举或常量文件?我有一个列表中的ID,希望将一个常量字符串映射到此ID。我想到的是这样的东西: 常规enum: public enum StaticUser { DB = 1, Order = 2 } 我需要的是: public enum StaticUser { 1 = DB, 2 = Order } 您只需将id强制转换为枚举: StaticUser user = (StaticUser)myId; 您只需将id强制转换为枚举: Sta
enum
:
public enum StaticUser
{
DB = 1,
Order = 2
}
我需要的是:
public enum StaticUser
{
1 = DB,
2 = Order
}
您只需将id强制转换为枚举:
StaticUser user = (StaticUser)myId;
您只需将id强制转换为枚举:
StaticUser user = (StaticUser)myId;
所以你有一个枚举
public enum StaticUser
{
DB = 1,
Order = 2
}
如果要获取成员的名称,只需执行ToString
string staticUserString = ((StaticUser)1).ToString();
这将文本1
强制转换为StaticUser
,然后使用ToString
返回枚举类型的字符串表示形式
在此示例之后,staticUserString=='DB'
为true
如果你想要一个特定值的其他常量字符串,那么你需要你自己的转换函数,比如
public static string ToSpecialString(this StaticUser source)
{
const string dBString = "Database"
switch (source)
{
case StaticUser.DB:
return dBString;
default:
return source.ToString();
}
}
那你就可以做了
string specialStaticUserString = ((StaticUser)1).ToSpecialString();
在这个示例之后,staticUserString==“Database”
是true
所以您有一个枚举
public enum StaticUser
{
DB = 1,
Order = 2
}
如果要获取成员的名称,只需执行ToString
string staticUserString = ((StaticUser)1).ToString();
这将文本1
强制转换为StaticUser
,然后使用ToString
返回枚举类型的字符串表示形式
在此示例之后,staticUserString=='DB'
为true
如果你想要一个特定值的其他常量字符串,那么你需要你自己的转换函数,比如
public static string ToSpecialString(this StaticUser source)
{
const string dBString = "Database"
switch (source)
{
case StaticUser.DB:
return dBString;
default:
return source.ToString();
}
}
那你就可以做了
string specialStaticUserString = ((StaticUser)1).ToSpecialString();
在这个例子之后,
staticUserString=='Database'
是true
很酷,就是这样。我不知道这样的演员阵容是可能的。酷,就是这样。我不知道这样的演员阵容是可能的。