c# - 将枚举转换为两位数的字符串
问题描述
我在这里有一个将 an 转换enum
为 a的问题string
,但我需要用零 2 位填充转换。例子
public enum System
{
Unknown = 0,
Mirror = 3,
Order = 17
}
输出将是这个"03"。
下面的例子是有效的
int value;
value = 3;
Console.WriteLine(value.ToString("D2"));
// Displays 03
但enum
不起作用
Console.WriteLine(SourceSystem.Mirror.ToString("D2"));
并出现此错误
System.FormatException
Message=Format String can be only "G", "g", "X", "x", "F", "f", "D" or "d".....
解决方案
System.Mirror
当前是 enum 类型,所以这就是为什么你不能调用ToString("D2")
它,因为你需要在 type 的变量上调用这个方法int
。所以你应该做的是首先将枚举转换为类型int
,然后ToString("D2")
像这样调用那个转换的变量,
Console.WriteLine(((int) System.Mirror).ToString("D2"));
推荐阅读
- javascript - 从 CommonJS TypeScript 导入 es 模块文件
- r - 将 doParallel 与 RMarkdown 一起使用
- parsing - 做块的野牛移位/减少冲突
- simultaneous - freeradius 用户连接限制
- python - 如何在没有任何空格的情况下计算熊猫中的令牌
- java - 为什么这个 ArrayList 'add' 操作不添加新元素?
- spring - 如何避免 Spring Boot Controller 捕获对 favicon 的请求?
- node.js - 特维利奥
到 Azure 连续语音转文本 - python - 如何使用 fastai unet_learner?
- java - XML 解析器 (Unmarshall) 使用 JaxB 从 xml 文件中获取元素