return为什么只能停止所在方法的运行,而不能停止整个程序的运行?

Alfred 2005-07-26 10:52:48
private void test1()
{
test2();
MessageBox.Show("test1");
}

private void test2()
{
MessageBox.Show("test2");
return;
}
//比如说这个本来的在test2()里已经return了但为什么还能MessageBox.Show("test1"),怎样解决?
...全文
186 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shrinerain 2005-07-27
  • 打赏
  • 举报
回复
if判断一下
Alfred 2005-07-27
  • 打赏
  • 举报
回复
我不是要退出程序是要程序动作停止
我不懂电脑 2005-07-27
  • 打赏
  • 举报
回复
return本来就是这样的。要退出程序用Environment.Exit(0);
cuike519 2005-07-27
  • 打赏
  • 举报
回复
你要搞清楚return的作用范围就和变量的作用范围一样。test2里面的return只作用于test2,和test1没有关系!这是程序设计里面基础的基础啊。晕。
  • 打赏
  • 举报
回复
晕,这种问题也有人问,我看你到计算机二级考试论坛里面问一下更合适
fanruinet 2005-07-27
  • 打赏
  • 举报
回复
private void test1()
{
test2();
MessageBox.Show("test1");
}

private void test2()
{
MessageBox.Show("test2");
Environment.Exit(0);
}
Alfred 2005-07-26
  • 打赏
  • 举报
回复
怎样MessageBox.Show("test1");
不显示啊
zhilunchen 2005-07-26
  • 打赏
  • 举报
回复
一楼分析完全正确,因为return只退出当前方法
Alfred 2005-07-26
  • 打赏
  • 举报
回复
D:\Program\C#\简单通信\Message\Form1.cs(266): 由于“Message.Form1.ConnectServer()”返回 void,返回关键字后面不得有对象表达式
JzeroBiao 2005-07-26
  • 打赏
  • 举报
回复
private void test1()
{
if (test2() == true)
MessageBox.Show("test1");
}
private bool test2()
{
MessageBox.Show("test2");
return false;
}
leonchenjian 2005-07-26
  • 打赏
  • 举报
回复
因为test2()中的return;是退出test2()这个函数
上面函数的运行过程是:
1 test1()执行
2 test2()执行
3 输出"test2"
4 退出test2(), 返回到test1()继续执行
5 输出"test1"
6 退出test1()

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧