C#中的but操作员是否有C#空间?
即:
if (checkBox.Checked but comboBox.SelectedItem == null) { ... }
而不是
if (checkBox.Checked == false || (checkBox.Checked && comboBox.SelectedItem != null)) { ... }
还有哪些其他当前不存在的运算符可以用来节省输入不太可读的语句?
更新
 
KennyTM发布了一个很好的替代but我建议的运营商,但它有点错过了重点.我知道现有的运算符可以组合起来创建任何表达式,我只是想知道我的代码表达我的意图有多好.
即"如果该复选框未选中或没有选择"不扫描相当以及"如果复选框被选中,但什么也没有选择".
更新2:
 
对那些说"和"与"但"相同的人进行更新.虽然我同意逻辑上这是正确的(我不会重新打开这个问题)我想与你分享一个引用,这表明"和"和"但"之间的选择有时会产生很大的不同:
在我们的客户食堂吃了一顿咖喱午餐.看起来有点像猫病,但它很好吃.
Phil Winstanley - 2011年2月22日
非常感谢.:)
(a but b)  ==  (!a || (a && !b))
           ==  ((!a || a) && (!a || !b))
           ==  (!a || !b)
于是
if (!checkBox.Checked || comboBox.SelectedItem != null) { ... }
我发现这比创建一个新运算符的可读性差得多.此外,and,or,not具有明确建立在布尔变量编程语言的含义,但but不是,所以你需要一个垃圾解释线文档(a but b) == (!a || !b),而不是a && !b或a && b给大家.这不值得.
| 归档时间: | 
 | 
| 查看次数: | 395 次 | 
| 最近记录: |