c# - 具有基础类型的枚举。无意中返回字符串表示

标签 c# enums

这个问题在这里已经有了答案:





Get int value from enum in C#

(29 个回答)


7年前关闭。




我有以下枚举:

 public enum BikeType : byte
  {
    Road = 0,
    Mountain = 1
  };

当我尝试将它传递给 a 时,我检索字节的“字符串”表示,而不是数值:
string str = string.Format("Road bike has a byte value of {0}", BikeType.Road);
"Road bike has a byte value of Road"

我想要字节值(0)。我究竟做错了什么?

谢谢

最佳答案

您需要强制转换为 int

string str = 
          string.Format("Road bike has a byte value of {0}", (int)BikeType.Road);

如果你不施放它,它会调用 ToStringBikeType.Road这将返回 Road

关于c# - 具有基础类型的枚举。无意中返回字符串表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21020014/

相关文章:

json - 如何从自定义枚举中删除枚举变体标签?

c# - 数据集中的枚举

c# - Setter 和 Getter 方法如何工作?

c# - 具有特定时区的 Javascript 整数到日期时间

c# - 单声道 : Is remote debugging possible with monodevelop?

c# 打开文件,路径以 %userprofile% 开头

c# - 有没有办法达到通过引用传递 "event"的效果?

ios - 如何从 Swift 中的原始值获取枚举?

django - 模板标签中已翻译的枚举字段

c# - 如何将大型标志枚举存储到 SQL 数据库中的单个列?