c# - 一个 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#theTrue = true
中是一个分配,而不是一个布尔检查......
所以你正在分配变量,而不是与布尔表达式进行比较
if ((theTrue = true) && (theFalse = false))
改为:
if ((theTrue == true) && (theFalse == false))
顺便说一句,这只是对正在学习编码的您的提示:布尔检查可以简化为
if (theTrue)
代替
if (theTrue == true)
推荐阅读
- mysql - 根据另一列中的值按 column1 或 column2 对行进行排序
- java - 价值提供者
BigTable 的 InstanceID 和 TableID 的管道未接受 - python - CentOS Python,mod_wsgi 无法正常工作
- kubernetes - 使用 Pulumi 创建 Kubernetes Service 导致错误无法为与 Service 关联的 Endpoint 对象创建观察者
- python-3.x - 如何在 tensorflow 2 数据集中使用带有元组的地图?
- javascript - 使用 redux 更好的方法启动数据
- spring-boot - Javers findChanges() 方法在使用 @Transactional 注释的方法中使用时抛出异常
- youtube-api - 如何解决 Youtube 数据 API 错误
- java - 当 Java 对象变得太大时会发生什么?
- html - 在多个浏览器上滚动移动菜单时出现问题