将int转换为布尔值的更好方法

时间:2013-02-27 09:41:00

标签: c# boolean int

输入int值仅包含1或0。 我可以通过编写if else语句来解决问题。

是不是可以将int转换为boolean

由于

3 个答案:

答案 0 :(得分:69)

int i = 0;
bool b = Convert.ToBoolean(i);

答案 1 :(得分:59)

我认为0表示false(许多编程语言就是这种情况)。这意味着truenot 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)