【发布时间】:2010-06-09 23:11:44
【问题描述】:
是否可以让编译器自动将我的 Enum 值转换为字符串,这样我就可以避免每次都显式调用 ToString 方法。这是我想做的一个例子:
enum Rank { A, B, C }
Rank myRank = Rank.A;
string myString = Rank.A; // Error: Cannot implicitly convert type 'Rank' to 'string'
string myString2 = Rank.A.ToString(); // OK: but is extra work
【问题讨论】:
-
不幸的是,编程涉及大量的打字,所以你只需要习惯它。
-
嗯不确定在枚举上但在类上你可以使用隐式运算符。 msdn.microsoft.com/en-us/library/85w54y0a.aspx
-
@codeka:你的回答很有趣。不知道关于你,但我开始编码的唯一事实是我很懒,想让使用计算机更容易(即:shell 脚本自动化、简单的批处理文件等)。问如何让事情变得更容易,这是一个非常有效的问题。
-
@Cory:先是懒惰,然后是 懒惰。编写 shell 脚本让你的生活更轻松是好事,但绕过类型系统来节省输入 11 个字符是不好的。
标签: c# enums implicit-conversion