|
1
151
如果你不想投,
直接演员(via)
更正式地说:
|
|
|
2
47
我通过对一个对象进行强制转换,然后对一个int进行强制转换,使其工作:
这是丑陋的,可能不是最好的方式。我会继续捣乱,看看我能不能想出更好的办法。。。。 编辑:我正要发布转换。ToInt32(enumValue)也可以工作,并且注意到MartinStettner比我做得快。
测试:
|
|
|
3
16
如果你需要转换
任何
枚举到其基础类型(并非所有枚举都由
|
|
|
4
10
为什么需要用助手方法重新发明轮子?投一张票是完全合法的
它的打字更少,在我看来更可读,使用。。。
…而不是像。。。
|
|
|
5
4
根据我的回答 here :
鉴于
然后这些工作:
现在您可以拨打:
|
|
|
7
1
由于枚举被限制为byte、sbyte、short、ushort、int、uint、long和ulong,我们可以做出一些假设。 通过使用最大的可用容器,我们可以避免转换过程中出现异常。不幸的是,使用哪个容器还不清楚,因为ulong将爆炸为负数,long将爆炸为long.MaxValue和ulong.MaxValue之间的数。我们需要根据基础类型在这些选择之间切换。 当然,当结果不符合整数时,你仍然需要决定该怎么做。我认为施法是可以的,但仍然存在一些问题:
|
|
|
8
0
如果你读了
|
|
|
9
-1
不要忘记枚举类型本身有一堆静态辅助函数。如果您只想将枚举实例转换为相应的整数类型,那么强制转换可能是最有效的方法。 我认为ReSharper在抱怨,因为Enum不是任何特定类型的枚举,而枚举本身派生自标量值类型,而不是Enum。如果您需要以通用方式进行适应性转换,我想说这可以很好地满足您的需要(请注意,枚举类型本身也包含在通用方式中:
然后可以这样使用:
我不知道该怎么说,但上面的代码甚至可能得到C#的类型推断的支持,允许以下内容:
|
|
|
Olivier Lasne · 将i128转换为f64的正确方法是什么 1 年前 |
|
|
Floris · 为什么cpp编译器在类型声明不正确时要转换为int? 1 年前 |
|
|
Bhargav Patil · 运算符的大小并尝试打印数组 1 年前 |
|
|
Vedant Yadav · c中用户定义类中的类型转换++ 1 年前 |
|
|
user25265096 · 从任何可用类型转换接口参数 1 年前 |
|
|
zahl · javascript中的签名int到签名char 1 年前 |