问题描述
- 求助c# return 之后还会往下执行
-
在try里用return 截断执行,但是还是继续执行了,这时怎么回事呢,我用的是一个方法里进行了判断,然后用了return
,可是执行到这里后接下来的其他下面的方法还是被执行了,怎么回事
解决方案
return 没有走到。
只有一种情况会执行return后面的代码,就是把return写在try/catch中,finally还是会执行
解决方案二:
把代码贴上来看一下!
解决方案三:
public void Pay()
{
try
{
B_borrowInfo boBll = new B_borrowInfo();
B_payInfo payBll = new B_payInfo();
M_payInfo payModel = payBll.GetModel(PayId);
if (payModel.mortBalan == 0)
{
Box.ShowMessage("***********", "/Admins/repaymentingList.aspx");
return;
}
else
{
DateTime withTime = (DateTime)payModel.withTime;
TimeSpan timespan = withTime.Subtract(PayTime);
if (timespan.Days >= 7)
{
Box.ShowMessage("*************************", "lendList.aspx");
return;
}
else
{
第二个return后还是执行
解决方案四:
能调试吗?个人感觉,要么是没有执行到if里面去。
一般,不建议else里面套if,这样逻辑容易乱。拆成多个单独的if,只要if不满足,就返回。
解决方案五:
今天再测试下,谢谢大家
解决方案六:
已经解决了,问题是return只能终止当前的viod,并列的其下的方法还是会继续执行的,我之前做的方式是
A();//这里return了
B();