无效的表达式术语'else'

时间:2013-02-24 15:55:28

标签: c# if-statement

我是C#的初学者 - 我只学了几天。我正在尝试制作一个GW2交易后计算器,但我卡住了。我正在尝试检查字符串的长度是否等于3,如果它是-(如-21),并且int的值是负数。我似乎无法看到这个else声明出错的地方。

        sellPrice = sellPrice * 0.85;
        profit = (int)sellPrice - buyPrice;

        String copperString;
        copperString = profit.ToString();
        int length = copperString.Length;

        if (length == 3 && profit < 0);
        {
            copperString = copperString.Substring(Math.Max(0, copperString.Length - 3));
            this.textBox3.Text = copperString;
        }
        else
        {
            copperString = copperString.Substring(Math.Max(0, copperString.Length - 2));
            this.textBox3.Text = copperString;
        }

3 个答案:

答案 0 :(得分:4)

;会终止if()语句,而else语句会成为“悬空”的其他语句,这是非法的。

之后删除;   if (length == 3 && profit < 0);&lt;〜this ;

答案 1 :(得分:3)

因为;。它应该像

if (length == 3 && profit < 0)
{
   //TODO:
}
else
{
   //TODO:
}

答案 2 :(得分:1)

;

之后删除if --> if (length == 3 && profit < 0)

这是完整的代码:

 sellPrice = sellPrice * 0.85;
    profit = (int)sellPrice - buyPrice;

    String copperString;
    copperString = profit.ToString();
    int length = copperString.Length;

    if (length == 3 && profit < 0)
    {
        copperString = copperString.Substring(Math.Max(0, copperString.Length - 3));
        this.textBox3.Text = copperString;
    }
    else
    {
        copperString = copperString.Substring(Math.Max(0, copperString.Length - 2));
        this.textBox3.Text = copperString;
    }