Мне задавали этот вопрос в интервью! Я просто хотел знать, какой правильный ответ на это. Я сказал, что логически концепция представлена типом данных bool (C#). Переменная типа данных bool может иметь истинное или ложное значение и может использоваться как условие условной проверки. Номерно, 1 представляет true и 0 представляет false в большинстве программ Языки. Я не знаю, что еще добавить или что такое различие между ними. Все комментарии будут очень признательны.Понятие истинного, ложного логически и численно?
ответ
В C# (в отличие от некоторых других языков) Булев не являются целыми числами и не являются конвертируемыми в целых числах:
int x = true; // Error - Cannot implicitly convert type 'bool' to 'int'
В результате это не имеет смысла говорить, что истинная равно 1 в C#. На уровне реализации значение true может быть сохранено внутренне как значение 1, но это детализация, специфичная для этой реализации, а не функция самого C#.
Если вы хотите, чтобы преобразовать логическое значение в значение 0 или 1 вы можете сделать это:
int x = isFoo ? 1 : 0;
Спасибо за ответ. Это означает, что в C# нет понятия истинного и ложного числа? – collegian
Да, в принципе, справедливо сказать, что нет числовых значений для true и false в C#. –
Не определение большинства языков из 'true'„ничего, кроме '0'“? – delnan
Я могу себе представить, что «Численно, 1 представляет true, а 0 - false на большинстве языков программирования». не был ответом, которого искал интервьюер. – PeterK
Рассматривая историю вопроса, кажется, что полученные ответы отвечали на ваши вопросы. Возможно, вам стоит пометить их как «принятых»? –