Входное значение int состоит только из 1 или 0. Я могу решить проблему, написав оператор if else.
Разве нет способа преобразовать int в boolean?
Ответ 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).