如何退出功能?

时间:2010-04-12 20:44:52

标签: c# return

我知道在vb.net中你可以做Exit Sub

但我想知道如何退出按钮中的点击事件?

这是我的代码:

private void button1_Click(object sender, EventArgs e)
{
    if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "")
    {
        //exit this event
    }
}

8 个答案:

答案 0 :(得分:29)

使用return声明。

MSDN Reference

答案 1 :(得分:20)

使用return关键字。

来自MSDN:

  

return语句终止   执行它的方法   出现并将控制权返回给   调用方法。它也可以返回   可选表达式的值。如果   该方法属于void类型   return语句可以省略。

所以在你的情况下,用法是:

private void button1_Click(object sender, EventArgs e)
{
    if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "")
    {
        return; //exit this event
    }
}

答案 2 :(得分:8)

return; // Prematurely return from the method (same keword works in VB, by the way)

答案 3 :(得分:3)

return;

阅读初学者教程/书到C#不会有什么坏处。

答案 4 :(得分:2)

如果你不需要,我建议你尽量避免使用return / exit。有些人会虔诚地告诉你永远不要这样做,但有时它才有意义。但是,如果您可以对结构进行检查,以便不必输入它们,我认为这会使人们更容易在以后关注您的代码。

答案 5 :(得分:2)

有两种方法可以提前退出方法(不退出程序):

i)使用return关键字 ii)抛出异常。

异常仅应用于特殊情况 - 当方法无法继续且无法返回对调用者有意义的合理值时。通常你应该在完成后返回。

如果您的方法返回void,那么您可以在没有值的情况下编写return:

return;

答案 6 :(得分:2)

使用return关键字。

return; //exit this event

答案 7 :(得分:1)

哟可以直接谷歌“在c#中退出sub。”。

另外,为什么要检查每个文本框是否为空。如果这是一个asp.net应用程序,你可以为这些文本框放置requiredfieldvalidator并检查是否(Page.IsValid)

或另一种解决方案是不要使用这些条件:

private void button1_Click(object sender, EventArgs e)
{
    if (!(textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == ""))
    {
        //do events
    }
}

最好使用String.IsNullOrEmpty:

private void button1_Click(object sender, EventArgs e)
{
    if (!(String.IsNullOrEmpty(textBox1.Text)
    || String.IsNullOrEmpty(textBox2.Text)
    || String.IsNullOrEmpty(textBox3.Text)))
    {
        //do events
    }
}