三元符号相当于c#中的If Else语句

时间:2016-05-13 15:16:07

标签: c#

为了缩短代码,我希望用下面提到的If Else语句替换三元符号,但我的代码显示错误。

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

显示错误的三元符号是

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

请提供代码建议。

3 个答案:

答案 0 :(得分:5)

试试这个:

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

答案 1 :(得分:4)

ternary operator ?:使用以下模式:

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

因此,在您的情况下,您将使用以下等效语句:

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

答案 2 :(得分:1)

使用此:

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