C# 枚举作为 int
有没有办法让我的枚举默认为整数? 所以我不需要到处打字? 基本上我将它用作常量值列表。
Is there a way i can make my enum defaulted as ints? so i dont need to typecast it everywhere?
Basically i am using it as a list of const values.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不。
如果您确实需要一组 int 常量,请使用静态类:
No.
If you really need a group of int constants, then use a static class:
不,如果您声明了枚举,则它们的默认值是枚举,并且需要显式转换才能获取 int 值。 如果您使用枚举作为 const 值,为什么不使用 const 值呢? 如果你想要一些分离,你可以创建一个只包含这些常量值的结构。
No, if you've declared an enum, their default value is as an enum, and an explicit cast is required to get to the int value. If you're using the enum as const values, why not use const values? If you want some separation you could create a struct that contains nothing but these const values.
如果你真的想这样做,你可以为枚举创建一个如下所示的扩展方法
然后你可以像下面这样使用它
If you really want to do that, you could create an extension method like the following for enums
Then you could use it like the following