首页 >后端开发 >C++ >如何从C#枚举获得整数值?

如何从C#枚举获得整数值?

Patricia Arquette
Patricia Arquette原创
2025-01-28 12:51:10805浏览

How Can I Get Integer Values from C# Enums?

从C#枚举中获取整数值

改进“Questions”类中的Get函数

在“Questions”类中,您试图设计一个“Get”函数,该函数将为提供的整数值检索一个“Questions”对象。但是,为了方便这种检索,您需要一种方法来从“Question”枚举中提取整数值。

解决方案:类型转换

检索枚举整数值最简单的方法是将枚举转换为底层数据类型。在大多数情况下,枚举使用“int”作为其底层数据类型。因此,您可以通过强制转换将枚举值转换为整数,如下所示:

<code class="language-csharp">int roleValue = (int)Question.Role;</code>

此强制转换将为您提供与“Role”枚举值关联的整数值,在本例中为2。

替代类型

虽然将强制转换为“int”通常足以满足大部分枚举的需求,但值得注意的是,枚举也可以使用不同的底层数据类型定义,例如“uint”、“long”或“ulong”。在这种情况下,您应该将枚举强制转换为适当的类型以准确检索值。

例如,如果名为“StarsInMilkyWay”的枚举使用“long”作为其底层类型定义:

<code class="language-csharp">enum StarsInMilkyWay : long { Sun = 1, V645Centauri = 2, Wolf424B = 2147483649 };</code>

要将“Wolf424B”值作为整数检索,您需要将其强制转换为“long”:

<code class="language-csharp">long starValue = (long)StarsInMilkyWay.Wolf424B;</code>

以上是如何从C#枚举获得整数值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn