请问函数最多嵌套的层数,和如何实现代码扁平化(少嵌套)
我有两个问题
1,请问VB.NET中函数最多能嵌套几层?我不是指代码的嵌套,而是指在函数执行过程中,其动态调用的最多层数.或者可以简化为,递归的最大层数是?
2,第二个问题我不知道该怎么问,描述一下吧,例如这一段代码
public sub sub1
sub2
sub3
sub4
.
.
.
sub9
.
.
end sub
显然,程序的执行过程是这样的,首先sub2,然后sub3,sub4………直到执行完sub9,然后再转回sub1继续执行下面的代码,但是由于小弟的程序执行的时候嵌套的十分复杂且相互之间没有什么数据传输,小弟希望达到这样的效果,程序还没执行完sub2,就开始执行sub3,调用的函数还未执行完,主函数sub1已经执行完毕退出了。看到这里可能有人会说,用异步不就好了,小弟就要请问了,用异步执行的话,如果只begin不end,也就是说,只开始异步执行不回调或者轮询什么的,会不会出现该异步过程执行完了仍然留在内存中(句柄什么的留在内存中)从而造成内存泄漏?或者除了异步还有别的办法能达到小弟想要的效果?
菜鸟提问,大家不许笑啊,谢谢解答的高手拉。
问题点数:100、回复次数:6Top
1 楼YidingHe(机枪兵)回复于 2005-01-06 01:22:53 得分 100
如果不想用EndInvoke的话,就在BeginInvoke里面加入回调就是了。应该是这样吧。Top
2 楼jxzhang615(冰河)回复于 2005-01-06 09:07:28 得分 0
帮顶!Top
3 楼farrio(独孤求胜)回复于 2005-01-06 09:16:18 得分 0
最大层数是不是看.net栈的大小?Top
4 楼lingyumengmeng(落英)回复于 2005-01-06 13:00:29 得分 0
回复人: YidingHe(机枪兵) ( ) 信誉:100 2005-01-06 01:22:00 得分: 0
如果不想用EndInvoke的话,就在BeginInvoke里面加入回调就是了。应该是这样吧。
这样也行的阿?我,我想不清楚了,这样要是程序还没运行完就end,似乎也释放不掉内存阿,是不是再加一句application.doevents?就行了?
继续等待大侠:)
Top
5 楼lingyumengmeng(落英)回复于 2005-01-06 13:04:05 得分 0
哦哦,我突然想到end会阻塞直到调用函数运行完毕的,那这个调用函数运行完毕之前,似乎还是会把别的函数卡死,这样这个调用执行完了主函数还是没有执行完啊?Top
6 楼lingyumengmeng(落英)回复于 2005-01-06 19:13:55 得分 0
自己顶一下Top




