将代码最小化的三元运算符

本文关键字:三元 运算符 代码 最小化 | 更新日期: 2023-09-27 18:05:36

如何使用三元运算符

最小化以下代码
if (toolButtonState.New == 1)
    ts.Items["tsbNew"].Enabled = true;
else
    ts.Items["tsbNew"].Enabled = false;

请提供一个实现

将代码最小化的三元运算符

不需要三元操作符。你可以这样简化:

ts.Items["tsbNew"].Enabled = (toolButtonState.New == 1);

从技术上讲,您可以使用像这样的三元操作符,但是没有理由这样做:

ts.Items["tsbNew"].Enabled = (toolButtonState.New == 1) ? true : false;

通常,如果?:后面的表达式不简单地求值为truefalse,则三元表达式更有用,例如:

someControl.ForeColor = (toolButtonState.New == 1) ? Color.Red : Color.Black;

请记住,如果表达式不仅仅是一个简单的一行代码,那么如果您坚持使用老式的if/else语句和花括号,您的代码可能更具可读性。

三元操作符的形式为:

(condition) ? (if true) : (if false)

那么代码中的三进制就会变成:

ts.Items["tsbNew"].Enabled = (toolButtonState.New == 1) ? true : false;

你会注意到if的真值是true, if的假值是false。您可以简单地删除三进制语句,通过将.Enabled设置为条件的结果,它将做同样的事情:

ts.Items["tsbNew"].Enabled = (toolButtonState.New == 1);