三項演算子を使用して次のコードを最小化する方法
if (toolButtonState.New == 1)
ts.Items["tsbNew"].Enabled = true;
else
ts.Items["tsbNew"].Enabled = false;
実装を提供してください
三項演算子を使用して次のコードを最小化する方法
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;
通常、次のように、 ?
andの後の式が単にandに:
評価されない場合は、三項式の方が便利です。true
false
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;
ただし、真の場合の値はtrue
であり、偽の場合の値は であることに気付くでしょうfalse
。.Enabled
三項ステートメントを削除するだけで、条件の結果に設定することで同じことを実行できます。
ts.Items["tsbNew"].Enabled = (toolButtonState.New == 1);