有用的运算符尚未实现

Nei*_*ell -2 c# operators

C#中的but操作员是否有C#空间?

即:

if (checkBox.Checked but comboBox.SelectedItem == null) { ... }
Run Code Online (Sandbox Code Playgroud)

而不是

if (checkBox.Checked == false || (checkBox.Checked && comboBox.SelectedItem != null)) { ... }
Run Code Online (Sandbox Code Playgroud)

还有哪些其他当前不存在的运算符可以用来节省输入不太可读的语句?

更新
KennyTM发布了一个很好的替代but我建议的运营商,但它有点错过了重点.我知道现有的运算符可以组合起来创建任何表达式,我只是想知道我的代码表达我的意图有多好.

"如果该复选框未选中或没有选择"不扫描相当以及"如果复选框被选中,但什么也没有选择".

更新2:
对那些说"和"与"但"相同的人进行更新.虽然我同意逻辑上这是正确的(我不会重新打开这个问题)我想与你分享一个引用,这表明"和"和"但"之间的选择有时会产生很大的不同:

在我们的客户食堂吃了一顿咖喱午餐.看起来有点像猫病,它很好吃.
Phil Winstanley - 2011年2月22日

非常感谢.:)

ken*_*ytm 9

(a but b)  ==  (!a || (a && !b))
           ==  ((!a || a) && (!a || !b))
           ==  (!a || !b)
Run Code Online (Sandbox Code Playgroud)

于是

if (!checkBox.Checked || comboBox.SelectedItem != null) { ... }
Run Code Online (Sandbox Code Playgroud)

我发现这比创建一个新运算符的可读性差得多.此外,and,or,not具有明确建立在布尔变量编程语言的含义,但but不是,所以你需要一个垃圾解释线文档(a but b) == (!a || !b),而不是a && !ba && b给大家.这不值得.

  • 和`(!a ||!b)==!(a && b)` (2认同)