输入int
值仅包含1或0。
我可以通过编写if else
语句来解决问题。
是不是可以将int
转换为boolean
?
由于
答案 0 :(得分:69)
int i = 0;
bool b = Convert.ToBoolean(i);
答案 1 :(得分:59)
我认为0
表示false
(许多编程语言就是这种情况)。这意味着true
为not 0
(某些语言使用-1
,其他语言使用1
;与其他语言兼容并不会造成伤害。所以你可以写:
bool boolValue = intValue != 0;
答案 2 :(得分:2)
开玩笑说,如果你只是期望你的输入整数为零或一,你应该检查是否是这种情况。
int yourInteger = whatever;
bool yourBool;
switch (yourInteger)
{
case 0: yourBool = false; break;
case 1: yourBool = true; break;
default:
throw new InvalidOperationException("Integer value is not valid");
}
开箱即用Convert
不会检查此内容;也不会yourInteger (==|!=) (0|1)
。