从C#枚举中获取整数值
改进“Questions”类中的Get函数
在“Questions”类中,您试图设计一个“Get”函数,该函数将为提供的整数值检索一个“Questions”对象。但是,为了方便这种检索,您需要一种方法来从“Question”枚举中提取整数值。
解决方案:类型转换
检索枚举整数值最简单的方法是将枚举转换为底层数据类型。在大多数情况下,枚举使用“int”作为其底层数据类型。因此,您可以通过强制转换将枚举值转换为整数,如下所示:
int roleValue = (int)Question.Role;
此强制转换将为您提供与“Role”枚举值关联的整数值,在本例中为2。
替代类型
虽然将强制转换为“int”通常足以满足大部分枚举的需求,但值得注意的是,枚举也可以使用不同的底层数据类型定义,例如“uint”、“long”或“ulong”。在这种情况下,您应该将枚举强制转换为适当的类型以准确检索值。
例如,如果名为“StarsInMilkyWay”的枚举使用“long”作为其底层类型定义:
enum StarsInMilkyWay : long { Sun = 1, V645Centauri = 2, Wolf424B = 2147483649 };
要将“Wolf424B”值作为整数检索,您需要将其强制转换为“long”:
long starValue = (long)StarsInMilkyWay.Wolf424B;
以上是如何从C#枚举获得整数值?的详细内容。更多信息请关注PHP中文网其他相关文章!