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

本文关键字:表达式 有效 else 为什么 | 更新日期: 2023-09-27 18:00:39

我从这段代码中得到的错误是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");
    }
}

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

您用分号关闭了if语句

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

它下面的块只是声明了一个新的作用域,并将始终执行。下方的else块没有匹配的if,因此是一个错误。

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");
        }
    }