Подтвердить что ты не робот

Лучший способ конвертировать int в логическое

Входное значение int состоит только из 1 или 0. Я могу решить проблему, написав оператор if else.

Разве нет способа преобразовать int в boolean?

4b9b3361

Ответ 1

Я предполагаю, что 0 означает false (что имеет место во многих языках программирования). Это означает, что true - это not 0 (некоторые языки используют -1, некоторые другие используют 1; не мешает быть совместимым с любым из них). Итак, если под словом "лучше" вы подразумеваете меньше печатания, вы можете просто написать:

bool boolValue = intValue != 0;

Ответ 2

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

Ответ 3

Шутя в сторону, если вы только ожидаете, что ваше входное целое будет равным нулю или одному, вы действительно должны проверить, что это так.

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).