Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检索常量变量文本_C# - Fatal编程技术网

C# 如何检索常量变量文本

C# 如何检索常量变量文本,c#,C#,我有一个类中声明的1000个常量变量的列表。我在保存记录时存储id,在检索时,我必须显示文本。范例 public const uint ZenitStPetersburg = 100769; 因此,在检索时,我必须向Zenitstestersburg展示 现在,我正在做switch-case,有没有任何elegent解决方案来检索文本?您应该实现一个字典 是的,利用字典,而不是变量: 如果您拥有源代码,为什么不尝试使用enum?大概是这样的: public enum Code : uint {

我有一个类中声明的1000个常量变量的列表。我在保存记录时存储id,在检索时,我必须显示文本。范例

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();