为什么else不是有效的表达式

时间:2015-07-01 21:12:50

标签: c#

我从这段代码中得到的错误是else是无效的表达式术语。这是为什么?

private void button2_Click(object sender, EventArgs e)
{
    int magicnumber;
    if(int.TryParse(textBox2.Text,out magicnumber));
    {
        MessageBox.Show ("Your number is " + magicnumber);                              
    }
    else
    {
        MessageBox.Show("Failure");
    }
}

2 个答案:

答案 0 :(得分:2)

您使用分号关闭了if语句:

if(int.TryParse(textBox2.Text,out magicnumber));

它下面的块只是声明一个新范围,并且将始终执行。 下面的else没有匹配if,因此是错误。

答案 1 :(得分:1)

你的if语句以分号结尾。只需从if语句的末尾删除分号,它就应该正常工作。

 private void button2_Click(object sender, EventArgs e)
    {
        int magicnumber;
        if(int.TryParse(textBox2.Text,out magicnumber))
        {
            MessageBox.Show ("Your number is " + magicnumber);                              
        }
        else
        {
            MessageBox.Show("Failure");
        }
    }