2016-05-13 2 views
1

コードを短縮するために、以下のIf Else文を3進表記に置き換えようとしていますが、コードに誤りがあります。3進表記法の場合と等価です。Else文をC#

if (txtMayAmt.Enabled) 
{ 
    txtMayAmt.Text = txtAprilAmt.Text; 
} 
else 
{ 
    txtMayAmt.Text = "0"; 
} 

エラーを示している私の三元表記は

((txtMayAmt.Enabled) ? (txtMayAmt.Text = txtAprilAmt.Text) : (txtMayAmt.Text = "0")); 

あるコードをアドバイスしてください。

+2

エラーは何ですか? 'txtMayAmt.Text = txtMayAmt.Enabledを使いますか? txtAprilAmt.Text: "0"; ' – Lee

+2

構文は' x = bool_test? true_result:false_result' – Jonesopolis

+0

遅れて申し訳ありません。私のインターネットはダウンしていました。私は正しい方向に向けるために皆様に感謝したいと思います。 –

答えて

5

このお試しください:この

txtMayAmt.Text = txtMayAmt.Enabled ? txtAprilAmt.Text : "0"; 
1

使用を:だからあなたの場合には、次の同等のステートメントを使用します

Variable = (Condition) ? (Value If True) : (Value If False) 

txtMayAmt.Text = txtMayAmt.Enabled ? txtAprilAmt.Text : "0"; 
4

ternary operator ?:は、次のパターンを使用しています:

// This will set the Text property to match April if enabled, otherwise "0" 
txtMayAmt.Text = txtMayAmt.Enabled ? txtAprilAmt.Text : "0"; 
関連する問題