博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转载】#458 Errors While Converting Between enum and Underlying Type
阅读量:6692 次
发布时间:2019-06-25

本文共 942 字,大约阅读时间需要 3 分钟。

You can convert to an enum value from its underlying type by casting the underlying type (e.g. int) to the enum type.

However, when you cast a value that doesn't have a corresponding enumerator in the type, you don't get any sort of error.

In the example below,the Mood type has enumerators that take on the values (0, 1, 2, 3). But we can successfully cast a value of 4 to the Mood type.

1 public enum Mood { Crabby, Happy, Petulant, Elated }; 2  3 static void Main() 4 { 5     int moodValue = 4; 6     Mood mood; 7  8     mood = (Mood)moodValue; 9     Console.WriteLine(mood);    // 410 }

To detect this problem, you can check to see if the value is defined in the enumerated type using the Enum.IsDefined method.

1 if (Enum.IsDefined(typeof(Mood), moodValue))2  {3     mood = (Mood)moodValue;4  }5 else6 {7     Console.WriteLine("{0} is not a valid Mood value!", moodValue);8 }

原文地址:

转载于:https://www.cnblogs.com/yuthreestone/p/3614568.html

你可能感兴趣的文章
[OpenGL] glVertexAttribPointer函数与glVertexAttribIPointer函数使用中遇到的小坑(int类型被自动转换为float类型)...
查看>>
oracle添加控制文件,ORA-00214: 错误
查看>>
SQL 语句技巧--单列数据变多行数据
查看>>
面试问题总结
查看>>
HTML特殊转义字符列表
查看>>
2、NIO--缓冲区(Buffer)
查看>>
3、集合--AbstractCollection、AbstractList源码
查看>>
如何较为直观的打印二叉树
查看>>
2014年计划:
查看>>
USACO习题:Broken Necklace
查看>>
打包命令
查看>>
POJ 1679 The Unique MST 【最小生成树/次小生成树模板】
查看>>
什么是动态链接库
查看>>
mysqldump 定时任务 执行后备份的文件为空
查看>>
Python-Django 模型层-单表查询
查看>>
Windows Redis默认配置文件,Redis配置不生效解决方案
查看>>
oracle-------window安装
查看>>
I/O完成端口、异步I/O、APC和线程池(四)——线程池
查看>>
获取Java程序运行的路径 | 获取当前jar包的路径
查看>>
摆脱京城贵妇unittest的骚套路discover,自定义用例执行顺序。
查看>>