如何退出function?
我知道在vb.net中你可以做Exit Sub
但我想知道如何退出按钮中的点击事件?
这是我的代码:
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "") { //exit this event } }
使用return
语句。
MSDN参考
使用return
关键字。
来自MSDN:
return语句终止它出现的方法的执行,并将控制返回给调用方法。 它还可以返回可选表达式的值。 如果方法的类型为void,则可以省略return语句。
所以在你的情况下,用法将是:
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "") { return; //exit this event } }
return; // Prematurely return from the method (same keword works in VB, by the way)
return;
读C#的初学教程/书不会有什么坏处。
如果你不需要,我建议你尽量避免使用return / exit。 有些人会虔诚地告诉你永远不要这样做,但有时它才有意义。 但是,如果您可以对结构进行检查,以便不必输入它们,我认为这会使人们更容易在以后关注您的代码。
有两种方法可以提前退出方法(不退出程序):
i)使用return关键字。
ii)抛出exception。
exception只应用于特殊情况 – 当方法无法继续并且无法返回对调用者有意义的合理值时。 通常你应该在完成后返回。
如果您的方法返回void,那么您可以在没有值的情况下编写return:
return;
使用return关键字。
return; //exit this event
哟可以简单地谷歌“退出sub in in c#”。
另外,为什么要检查每个文本框是否为空。 如果这是一个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 } }