c# - Enum ToString 显示为数字

标签 c# enums tostring

我有一个枚举

private enum TimeUnit
{      
  Day,
  Month,
  Year
}

我正在用以下内容填充描述:

return string.Concat(unit, "(s)");

其中单位是 TimeUnit。大多数情况下,这工作正常并显示“天数”,但在特定服务器上它显示为“1(s)”

什么会导致这种情况?

最佳答案

尝试使用 Enum.GetName()

它还有一个优点是safer因为它需要:

  • 您传入的值不为空。
  • 您传入的值属于枚举实际可以用作其基础类型的类型,或者属于枚举本身的类型。它对值使用 GetType 来检查这一点。

关于c# - Enum ToString 显示为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15112167/

相关文章:

c# - 单个整数的 Web API ResponseType

c# - 通过 LINQ 解析 XML 时出现空引用异常

c# - 读取 XML 时出现奇怪的 UTF-8 编码问题,在 C# 中写入结果

c# - 附加文本不起作用

c# - 枚举可以包含字符串吗?

ios - 使用自定义枚举作为值在 Swift 中创建字典 'on-the-fly'

c++ - Qt、枚举和元对象编译器

java - 在 toString() 中获取垃圾而不是字符串

javascript - 如何将所有 Javascript 数组数据显示为字符串

java - 在 Java 中使用 Student 类中的 Address 类和 toString