【发布时间】:2010-11-01 17:03:58
【问题描述】:
C# 中是否有空间用于 C# 中的 but 运算符?
即:
if (checkBox.Checked but comboBox.SelectedItem == null) { ... }
相对于
if (checkBox.Checked == false || (checkBox.Checked && comboBox.SelectedItem != null)) { ... }
还有哪些其他当前不存在的运算符可用于节省键入可读性较差的语句?
更新
KennyTM 已向我建议的but 运营商发布了excellent alternative,但它有点错过了重点。我知道可以组合现有的运算符来创建可能的 any 表达式,我只是想知道我的代码如何更好地表达我的意图。
即“如果未选中复选框或未选中任何内容” 不扫描相当以及 “如果选中复选框但未选中任何内容” em>。
更新 2:
对于那些说“并且”与“但是”相同的人来说,这只是一个更新。虽然我同意这在逻辑上是正确的(而且我不会重新打开这个问题),但我想与您分享一段引言,暗示“and”和“but”之间的选择有时会产生很大的不同:
Had a curry for lunch in our customers canteen. It looked a bit like cat sick but it was quite tasty.
Phil Winstanley - 2011 年 2 月 22 日
非常感谢。 :)
【问题讨论】:
-
如何制作这个社区维基?
-
将帖子标记给版主。他们会为你做的
-
我们非常需要一个对接操作员:)
-
为什么要定义一个与句子的英文阅读不匹配的逻辑运算符?示例:如果正在下雨,但窗户仍然开着与此 C# 含义相同:
if (raining && windowState == open). -
@Neil:如果这是您的意图,那么它与 BUT 的日常语义几乎没有相似之处。它也与您的句子不同,“如果选中了复选框但未选择任何内容”。