架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14114|回复: 2

[资料] enum 枚举 检查一个值是否包含在一个枚举中

[复制链接]
发表于 2018-4-11 15:58:53 | 显示全部楼层 |阅读模式
  • 默认情况下,枚举第一个值是0, 可显式为枚举赋值。
  • 可以定义枚举的基础类型,如enum E : short {}, sizeof(E) == 2;默认情况下是int。
  • 枚举的继承链:ValueType->Enum->enum
  • 枚举类型和基础类型之间的转换都是显式的,0除外,因为存在从0代任何枚举类型的隐式转换。
  • 枚举的ToString()会输出其枚举值的标识符、
  • 从字符串转枚举:AEnumType a = (AEnumType)Enum.Parse(typeof(AEnumType), “flag”);可能失败,代码应包含异常处理机制。
  • 可用Enum.IsDefined()检查一个值是否包含在一个枚举中。


if (!Enum.IsDefined(typeof(SearchMode), options))
              throw new ArgumentException(Properties.Resources.InvalidEnumerationValue, "options");

SearchMode为一个枚举类型, 若传入的options值不在此枚举定义范围内, 比如枚举定义了1,2, 而options是由3 cast来的, 则IsDefined方法返回false.






上一篇:无法启动iis express web 服务器
下一篇:StackOverflow 这么大,它的架构是怎么样的?
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-3-29 15:28:04 | 显示全部楼层
c# 检查 int 是否能转换成 enum 枚举类型

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-8-14 09:20:03 | 显示全部楼层
C#枚举中使用Flags特性,一个枚举变量存入多个值
https://www.itsvse.com/thread-4661-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-20 03:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表