Roh*_*han 1 c# casting boolean compiler-errors
我今天早些时候正在玩类型铸造,并遇到了一些有趣的东西.C#编译器无法转换0或1布尔数据类型.例如:
bool b = (bool)0;
Run Code Online (Sandbox Code Playgroud)
将返回false(如果它能够编译).
这里似乎没有任何信息丢失,所以我的问题是,是否有一些特定的原因C#编译器不允许你这样做?
因为为了使你的强制转换工作,每个 int都必须能够被转换为bool,而不仅仅是1和0.不允许所有整数被视为布尔值的决定是有目的地完成的,以消除这种类型的可能性这个限额的错误在允许的语言中占用,例如C和C++.
| 归档时间: |
|
| 查看次数: |
545 次 |
| 最近记录: |