首页 > 解决方案 > 一个 if 语句中的多个 Bool 或嵌套?

问题描述

好的,所以我正在学习 c# 并具有以下代码:

bool theTrue = true;
bool theFalse = false;

if ((theTrue = true) && (theFalse = false))
{
    Console.WriteLine(theTrue && theFalse); //False
}

我有点好奇为什么 if 语句没有运行。我确实明白(真假)给出了假。

据我了解: (theFalse = false) 是真的......?(theFalse 是假的,所以它一定是真的?)

但是这段代码也没有运行,这让我更难做一个嵌套的 if 语句:

if ((theFalse = false))
{ //something }

当(theTrue = true)和(theFalse = false)时,完成if语句的正确方法是什么?

我显然在这里遗漏了一些东西......

另外,奖金问题:-) 打印到控制台时,为什么会这样

Console.WriteLine(theTrue && theFalse); //False

打印“假”而不是“假”。在 C# 中,Bool 的值是“false”,没有大写字母。它只是一个“功能”,还是我需要注意什么?

标签: c#

解决方案


你有错字

在 c#theTrue = true中是一个分配,而不是一个布尔检查......

所以你正在分配变量,而不是与布尔表达式进行比较

if ((theTrue = true) && (theFalse = false))

改为:

if ((theTrue == true) && (theFalse == false))

顺便说一句,这只是对正在学习编码的您的提示:布尔检查可以简化为

if (theTrue)

代替

if (theTrue == true)

推荐阅读