首页 新闻 会员 周边 捐助

c#方法返回的问题?

0
[已解决问题] 解决于 2017-04-22 14:30

比如:private void Method1()
{
//代码1
//代码2:调用Method2()方法
//代码3
}
private void Method2()
{
//代码1
//代码2:调用Method1()方法
//代码3
}
我在Method1()里调用Method2()的方法,然后程序进入Method2()。
然后又在Method2()里调用Method1()的方法,程序又回到Method1(),但不是直接回到//代码2那里。
有办法直接回到//代码2那里么?

(希望表达没有混乱)

ps:昨天问了相似的问题,但是问题还没有完全解决。

某的主页 | 菜鸟二级 | 园豆:278
提问于:2017-04-18 10:11
< >
分享
最佳答案
0

看不懂。

不过不建议这样两者互相依赖,比较的好的办法是拉一个新方法去包你这些绕过来绕过去的逻辑,一则看起来会清晰很多,二则不容易出错,一处修改不影响另一处。

奖励园豆:5
Daniel Cai | 专家六级 |园豆:10424 | 2017-04-18 10:14

谢谢

| 园豆:278 (菜鸟二级) | 2017-04-18 14:28

@某: 大神有Q没,加个好友

张超伟 | 园豆:200 (初学一级) | 2017-04-20 14:55
其他回答(7)
0

昨天是我回答的你的问题...

你这个函数都循环嵌套调用了,不行的,死循环

codingHeart | 园豆:1511 (小虾三级) | 2017-04-18 10:16

谢谢

支持(0) 反对(0) | 园豆:278 (菜鸟二级) | 2017-04-18 14:28
0

昨天是我赞同一楼的

你把代码一和代码二的位置调换一下 不就行了?

还有 你这么写想干啥?要实现啥功能?

这么喜欢定义私有的方法?

下一次巅峰 | 园豆:5 (初学一级) | 2017-04-18 10:26

因为现在我有个私有的方法,里面很多代码:

1要遍历 dataGridView1

2要遍历XML配置文件3然后做各种判断这样的后果就是很多的判断,循环,看起来比较混乱。现在我想拆开那个原来的私有方法(Metho()),你有没有更好的办法?

 

 

支持(0) 反对(0) | 园豆:278 (菜鸟二级) | 2017-04-18 14:40

 

如图

支持(0) 反对(0) | 园豆:278 (菜鸟二级) | 2017-04-18 14:43
0

我是做java的。java方法中有return关键字,应该可以达到效果。

你method1中调用method2,method2中又进入method1,这样确实会出现死循环,return就是跳出当前方法,如果有返回值的话给返回值。这个与递归有点类似,可以参考下思想。

方法执行时有顺序的,只有子方法执行完了之后才会继续执行父方法的其他内容。

guodaxia | 园豆:87 (初学一级) | 2017-04-18 14:40

谢谢

支持(0) 反对(0) | 园豆:278 (菜鸟二级) | 2017-04-18 14:44
0

我怎么感觉你这个方法不会成功呢,而是会陷入死循环!

private void aaa()

{

// if(判断条件)

{

  //调用Method2()方法

}else

{

  //调用Method1()方法

}

}

private void Method1()

{
//代码1
//代码2:调用Method2()方法
//代码3
}
private void Method2()
{
//代码1
//代码2:调用Method1()方法
//代码3
}

在需要的地方直接调用  aaa()  这个方法

FelixWang | 园豆:221 (菜鸟二级) | 2017-04-18 14:54
0

你的方法调用陷入死循环了,不知道你这样做的目的。不妨告诉我你的需求,这样你就可以换个写法。

龙行天涯 | 园豆:1794 (小虾三级) | 2017-04-19 11:30

因为现在我有个私有的方法,里面很多代码(上百行):

1先从串口接收数据(用Comm_DataReceived接收),在进入到Method()里面。

 

2要遍历 dataGridView1

 

2要遍历XML配置文件

3然后做各种判断

4这样的后果就是很多的判断,循环,看起来比较混乱。

5 下图是我做出来的(Value那一列是串口的返回值)

6现在我想拆开那个原来的私有方法(Metho()),你有没有更好的办法?

 

 

支持(0) 反对(0) | 园豆:278 (菜鸟二级) | 2017-04-19 13:46

@某: 还是不太明白,拆开方法后会涉及到几个方法,各个方法间的关系,什么时候结束。

支持(0) 反对(0) 龙行天涯 | 园豆:1794 (小虾三级) | 2017-04-19 18:02

@龙行天涯: 方便私聊?

支持(0) 反对(0) | 园豆:278 (菜鸟二级) | 2017-04-19 18:49
0

方法调用成死循环了   第二个肯定会先进到第一个方法里   在进第二个方法  成死循环了

白闹 | 园豆:260 (菜鸟二级) | 2017-04-19 11:35

能参考我上面的回答,给点建议么?

支持(0) 反对(0) | 园豆:278 (菜鸟二级) | 2017-04-19 13:52

@某: 你是想直接第二个方法 再从新走一遍吗

支持(0) 反对(0) 白闹 | 园豆:260 (菜鸟二级) | 2017-04-19 13:54

@白闹: 忽略我提到问题,现在我只想拆开那个原来的方法,分成多个方法,原来的方法因为代码比较长,看起来比较乱。

支持(0) 反对(0) | 园豆:278 (菜鸟二级) | 2017-04-19 14:19
0

只要有循环递归的终止条件,应该是可以的,以前在算法书上见过

Bluto | 园豆:317 (菜鸟二级) | 2017-04-19 17:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册