比如:private void Method1()
{
//代码1
//代码2:调用Method2()方法
//代码3
}
private void Method2()
{
//代码1
//代码2:调用Method1()方法
//代码3
}
我在Method1()里调用Method2()的方法,然后程序进入Method2()。
然后又在Method2()里调用Method1()的方法,程序又回到Method1(),但不是直接回到//代码2那里。
有办法直接回到//代码2那里么?
(希望表达没有混乱)
ps:昨天问了相似的问题,但是问题还没有完全解决。
看不懂。
不过不建议这样两者互相依赖,比较的好的办法是拉一个新方法去包你这些绕过来绕过去的逻辑,一则看起来会清晰很多,二则不容易出错,一处修改不影响另一处。
谢谢
@某: 大神有Q没,加个好友
昨天是我回答的你的问题...
你这个函数都循环嵌套调用了,不行的,死循环
谢谢
昨天是我赞同一楼的
你把代码一和代码二的位置调换一下 不就行了?
还有 你这么写想干啥?要实现啥功能?
这么喜欢定义私有的方法?
因为现在我有个私有的方法,里面很多代码:
1要遍历 dataGridView1
2要遍历XML配置文件3然后做各种判断这样的后果就是很多的判断,循环,看起来比较混乱。现在我想拆开那个原来的私有方法(Metho()),你有没有更好的办法?
如图
我是做java的。java方法中有return关键字,应该可以达到效果。
你method1中调用method2,method2中又进入method1,这样确实会出现死循环,return就是跳出当前方法,如果有返回值的话给返回值。这个与递归有点类似,可以参考下思想。
方法执行时有顺序的,只有子方法执行完了之后才会继续执行父方法的其他内容。
谢谢
我怎么感觉你这个方法不会成功呢,而是会陷入死循环!
private void aaa()
{
// if(判断条件)
{
//调用Method2()方法
}else
{
//调用Method1()方法
}
}
private void Method1()
{
//代码1
//代码2:调用Method2()方法
//代码3
}
private void Method2()
{
//代码1
//代码2:调用Method1()方法
//代码3
}
在需要的地方直接调用 aaa() 这个方法
你的方法调用陷入死循环了,不知道你这样做的目的。不妨告诉我你的需求,这样你就可以换个写法。
因为现在我有个私有的方法,里面很多代码(上百行):
1先从串口接收数据(用Comm_DataReceived接收),在进入到Method()里面。
2要遍历 dataGridView1
2要遍历XML配置文件
3然后做各种判断
4这样的后果就是很多的判断,循环,看起来比较混乱。
5 下图是我做出来的(Value那一列是串口的返回值)
6现在我想拆开那个原来的私有方法(Metho()),你有没有更好的办法?
@某: 还是不太明白,拆开方法后会涉及到几个方法,各个方法间的关系,什么时候结束。
@龙行天涯: 方便私聊?
方法调用成死循环了 第二个肯定会先进到第一个方法里 在进第二个方法 成死循环了
能参考我上面的回答,给点建议么?
@某: 你是想直接第二个方法 再从新走一遍吗
@白闹: 忽略我提到问题,现在我只想拆开那个原来的方法,分成多个方法,原来的方法因为代码比较长,看起来比较乱。
只要有循环递归的终止条件,应该是可以的,以前在算法书上见过