.NET 中关于 TypeCode 和枚举类型的问题
2024-10-15 05:50:49
因为C#中没有提供 Switch on Type 的功能,因此要判断类型通常会用一长串的if else,当然这种写法的问题是不够高效,且不够美观。因此 C# 中对常见类型提供了一组枚举值,也就是 TypeCode(这个枚举类型在.NET for Windows App Store 中居然被取消了,大概是因为DBNull这个类型本身也被取消了,这个值没有对应的类型了,干脆连TypeCode就一起取消了)。可以使用 Type.GetTypeCode 方法来得到类型对应的枚举值,之后对得到的枚举值进行switch操作。但需要注意这里有一组特殊的类型,那就是枚举类型,它的返回值是该枚举类型对应的数字类型,而不是Object类型。
因此如果你想区分枚举类型和数字类型的话,记住不要直接用这个方法,至少要先用 IsEnum 来判断一下。否则你可能会错把枚举了类型当成数字类型进行处理。
最新文章
- Python: Windows 7 64位 安装、使用 pymongo 3.2
- 【转】 CSS3实现10种Loading效果
- shell 脚本样例
- 我也要学C语言-第十九章:命令行参数
- CentOS6.5菜鸟之旅:U盘安装CentOS64位
- android基础知识13:AndroidManifest.xml文件解析
- guake默认快捷键
- CVPR读书笔记[5]:Gabor特征提取之Gabor核的实现
- c++:类中的static成员
- java中解决request中文乱码问题
- canvas 基础知识
- zookeeper的安装与部署-集群
- 移动浏览器H5页面通过scheme打开本地应用
- TabTopUnderLineLayout【自定义顶部选项卡(带下划线)】
- [SQL]LeetCode180. 连续出现的数字 | Consecutive Numbers
- [Swift]LeetCode829. 连续整数求和 | Consecutive Numbers Sum
- LeetCode(116):填充同一层的兄弟节点
- 20155313 2016-2017-2 《Java程序设计》第五周学习总结
- 巧用foxmail同步qq邮箱的通讯录
- java高级---->;Thread之ExecutorService的使用
热门文章
- 将对象序列化,反序列化到XML
- android中常用转义字符
- 【JS】IE兼容placeholder
- Nginx 开启gzip 压缩
- javascript下ie7,ie8的Date Bug的解决
- html的基础标签
- windows server2008 kettle部署
- flume 不报错但是不能正常使用
- Bash条件判断
- IOS 关键字self,super,copy, retain, assign , readonly , readwrite, nonatomic、 @synthesize、@property、@dynamic