if-statement - 如何在if语句中检查两者是否不相等?
问题描述
我的代码中有很多这样的:
if ( x1 == x2 && y1 == y2) {
// do nothing
}
else {
// do the thing
}
我想知道我是否可以用 if 替换它,而不用 else,以使代码更清晰。我尝试了以下方法:
if ( x1 != x2 && y1 != y2) {
// do the thing
}
但它不起作用,因为如果只有其中一个不相等,那么整个事情都是错误的。
解决方案
使用德摩根定律(a)之一:
not (A and B) = (not A) or (not B)
换句话说:
if (x1 != x2 || y1 != y2) {
// do the thing
}
如果你不想过多考虑命题逻辑,你可以使用下面的英文变体。
- 仅当两个陈述都为真时,您才不想做“那件事” 。
- 因此,如果一个或两个陈述都是错误的,你应该做“事情”。
(a)另一种是:
not (A or B) = (not A) and (not B)
推荐阅读
- unity3d - 如何处理 Time.deltaTime 在多台机器上重现相同的模拟
- python - Pyparsing nested transformString
- java - 在 ExifTool 输出中包含带有未指定标记的重复项
- javascript - Puppeteer - 无法选择页面内部的选项卡
- python - 使用sqlalchemy和sybase时如何防止pandas数据框在#tmp周围添加双引号?
- jquery - 如何检测第一个字母是否不包含连字符
- snowflake-cloud-data-platform - 列出雪花中特定表中具有数据类型的所有列
- powershell - 如何快速删除 PowerShell 中的多个 IIS 绑定?
- python - 判断一个字符串是否是回文
- c - 分段错误(核心转储)将表单数组复制到字符串