在C#中从枚举中检索整数值
问题:
这个问题深入探讨了检索与枚举关联的整数值。考虑以下场景:名为Questions
的类包含一个名为Question
的枚举,它表示各种调查问题。是否存在一种直接的方法来获取特定枚举成员的整数值,并在诸如Questions.Get(Question.Role)
之类的函数中使用它?
答案:
要从枚举中提取整数值,只需将其强制转换即可。例如:
<code class="language-csharp">int something = (int)Question.Role;</code>
这种强制转换与绝大多数枚举都能完美配合,因为它们通常使用int
作为其底层类型。
但是,需要注意的是,枚举在特定情况下可能会表现出不同的底层类型。如果枚举是用uint
、long
或ulong
等类型声明的,则必须将其强制转换为枚举的底层类型。例如,考虑以下枚举:
<code class="language-csharp">enum StarsInMilkyWay:long {Sun = 1, V645Centauri = 2, ..., Wolf424B = 2147483649};</code>
在这种情况下,正确的强制转换将是:
<code class="language-csharp">long something = (long)StarsInMilkyWay.Wolf424B;</code>
通过遵守这些强制转换注意事项,您可以有效地检索与枚举关联的整数值,并在代码中使用它们。
以上是如何检索C#枚举成员的整数值?的详细内容。更多信息请关注PHP中文网其他相关文章!