首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能在C#中将0或1转换为布尔值

问不能在C#中将0或1转换为布尔值
EN

Stack Overflow用户
提问于 2013-10-01 00:57:38
回答 1查看 940关注 0票数 2

今天早些时候我在玩类型演员,发现了一件有趣的事情。C#编译器无法将0或1转换为布尔数据类型。例如:

代码语言:javascript
复制
bool b = (bool)0;

返回false (如果它能够编译的话)。

这里似乎没有任何信息丢失,所以我的问题是,C#编译器不允许您这样做有什么具体原因吗?

EN

回答 1

Stack Overflow用户

发布于 2013-10-01 01:03:22

因为为了使您的强制转换正常工作,每个int都必须能够转换为bool,而不仅仅是1和0。不允许将所有整数视为布尔值的决定是有目的的,目的是消除这种允许的语言(例如C和C++ )中出现的错误类型的可能性。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19106296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档