0

我是 C# 的初学者——我才学了几天。我正在尝试制作一个 GW2 交易站计算器,但我被卡住了。我正在尝试检查字符串的长度是否等于 3,以防它的 a -(如-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;
        }
4

3 回答 3

4

;终止一个if()语句,else它之后的语句变成一个“悬空”的 else 语句,这是非法的。

去掉<~ 这个;之后 if (length == 3 && profit < 0);;

于 2013-02-24T16:01:46.527 回答
3

其原因在于;。它应该像

if (length == 3 && profit < 0)
{
   //TODO:
}
else
{
   //TODO:
}
于 2013-02-24T16:01:00.810 回答
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;
    }
于 2013-02-24T15:59:14.383 回答