在一行中调用实例方法之前,如何将 Enum 转换为其基础类型?

How do I cast an Enum to its underlying type BEFORE calling instance method, in one line?

我运行在尝试尝试时遇到了这个答案的需要:

(int)myEnum.ToString("D2");

这不起作用,因为它认为我正在尝试从 .ToString("D2")

转换字符串 return 值

当然很容易做到:

var myInt = (int)myEnum;
myInt.ToString("D2");

但是,我想知道是否存在单行解决方案,以便我可以在 lambda 中使用它,即

// Assuming this worked how I wanted it to
myEnums.Select(myEnum => (int)myEnum.ToString("D2"))

这里的目标是 运行sform myEnum 的 IEnumerable 到左零填充整数

你还得再加一对括号:

var x = ((int)myEnum).ToString("D2");

我。 e.您的 linq 查询将如下所示:

var x = myEnums.Select(myEnum => ((int)myEnum).ToString("D2"));