C# 如何检索常量变量文本
我有一个类中声明的1000个常量变量的列表。我在保存记录时存储id,在检索时,我必须显示文本。范例C# 如何检索常量变量文本,c#,C#,我有一个类中声明的1000个常量变量的列表。我在保存记录时存储id,在检索时,我必须显示文本。范例 public const uint ZenitStPetersburg = 100769; 因此,在检索时,我必须向Zenitstestersburg展示 现在,我正在做switch-case,有没有任何elegent解决方案来检索文本?您应该实现一个字典 是的,利用字典,而不是变量: 如果您拥有源代码,为什么不尝试使用enum?大概是这样的: public enum Code : uint {
public const uint ZenitStPetersburg = 100769;
因此,在检索时,我必须向Zenitstestersburg展示
现在,我正在做switch-case,有没有任何elegent解决方案来检索文本?您应该实现一个
字典
是的,利用
字典,而不是变量:
如果您拥有源代码,为什么不尝试使用enum
?大概是这样的:
public enum Code : uint
{
ZenitStPetersburg = 100769,
....
}
然后,您可以通过对enum变量执行.ToString()
来轻松获取名称。像这样:
Code code = Code.ZenitStPetersburg;
string name = code.ToString();
一个类中有1000个常量?这似乎是个糟糕的设计
这就是枚举的用途
public enum MyEnum
{
ZenitStPetersburg = 100769,
...
}
然后,您可以使用类似这样的方法从值中获取它的字符串表示形式
string text = ((MyEnum)100769).ToString();//You're done
或
您需要显示变量名?优雅?不。为什么不像字典一样将数据存储为一组键值对呢?确切地说,就是我建议调查反射的变量名(即)。它可以用来检索一个类的成员,包括他们的名字。你可以定义一个枚举而不是常量。你和我的想法一样+谢谢,你节省了我的时间。否则,你会继续写那些难看的代码,这样,我只用了1分钟就完成了
public enum Code : uint
{
ZenitStPetersburg = 100769,
....
}
Code code = Code.ZenitStPetersburg;
string name = code.ToString();
public enum MyEnum
{
ZenitStPetersburg = 100769,
...
}
string text = ((MyEnum)100769).ToString();//You're done
string text = ((MyEnum)Enum.ToObject(MyEnum),100769).ToString();