带有基础类型的枚举。无意中返回字符串表示形式。

15 浏览
0 Comments

带有基础类型的枚举。无意中返回字符串表示形式。

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

如何从C#的枚举类型中获取整数值

我有以下的枚举类型:

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

当我尝试传入它时,我检索到的是代表此字节的“字符串”表示形式,而不是数值:

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

"Road bike has a byte value of Road"

我想要的是这个字节的数值 (0)。我做错了什么?

谢谢。

admin 更改状态以发布 2023年5月24日
0
0 Comments

你应该将其转换为 byte 类型

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

0
0 Comments

你需要将其转换为int类型

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

如果你没有转换它,它将在BikeType.Road上调用ToString,它会返回Road

0