【发布时间】:2011-08-18 15:39:58
【问题描述】:
在 C# 中,== 用于检查相等性,而= 用于赋值。
这是否意味着检查不等式真的应该是!==。
为什么不是这样?是因为历史原因吗?
!= 的兴起使其在大多数 SQL 变体中也站稳了脚跟。
【问题讨论】:
-
这可能应该在programmers.stackexchange.com询问
-
我认为
!=有点道理(2 个字符,例如==)。由于没有“非赋值”运算符,它也没有真正与任何东西重叠。只是我的意见(因此不是答案)。 -
你应该问问K&R。但他们可能也抄袭了。
-
他们使用
==的唯一原因是为了防止赋值运算符出现歧义。在!=的情况下,没有歧义,那么为什么要强迫程序员使用另一个字符呢? -
为什么不
/=?这就是 ALGOL 使用的。 K&R 决定使用!=。这只是一个约定。 C++ 基于 C,Java 在某些方面类似于 C,因此它具有相同的运算符,而 C# 在语法上也有一些 C 的根源。