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

本文关键字:更好 方法 布尔值 int 转换 | 更新日期: 2023-09-27 18:01:33

输入的int值仅由1或0组成。我可以通过写一个if else语句来解决这个问题。

难道没有办法把int转换成boolean吗?

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

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

我假设0的意思是false(在许多编程语言中都是这样(。这意味着true就是not 0(有些语言使用-1,有些则使用1;两者兼容都没有坏处(。因此,假设"更好"意味着更少的打字,你可以写:

bool boolValue = intValue != 0;

抛开玩笑不谈,如果你只期望输入整数是零或一,那么你真的应该检查一下是否是这样。

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不会对此进行检查;CCD_ 12也不会。

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

int i=0;
bool b=i==1;