59

输入int值只有1或0。我可以通过写一个if else语句来解决这个问题。

没有办法将其int转换为 aboolean吗?

4

4 回答 4

163
int i = 0;
bool b = Convert.ToBoolean(i);
于 2013-02-27T09:42:55.310 回答
127

我假设0手段false(在许多编程语言中都是如此)。这意味着truenot 0(某些语言使用-1另一些语言使用1; 兼容两者都没有坏处)。所以假设“更好”意味着更少的打字,你可以写:

bool boolValue = intValue != 0;
于 2013-02-27T09:43:51.097 回答
6

开个玩笑,如果您只希望输入整数是零或一,那么您真的应该检查是否是这种情况。

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)

于 2013-02-27T09:51:27.450 回答
0

我认为这是最简单的方法:

int i=0;
bool b=i==1;
于 2021-12-02T15:38:53.110 回答