社区
C#
帖子详情
return 不能跳出foreach 循环?
liujuanwh
2004-08-24 12:09:32
return 不能跳出foreach 循环?
...全文
1199
15
打赏
收藏
return 不能跳出foreach 循环?
return 不能跳出foreach 循环?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liujuanwh
2004-08-26
打赏
举报
回复
解决了,应该在
IsContainGen(tb);
改成 if (IsContainGen(tb)) return true; 这样才对,如果IsContainGen(tb)为true,表示已找到,就逐层返回true;如果为IsContainGen(tb)为false不需要返回,只需继续寻找.
呵呵,谢谢各位了
Knight94
2004-08-24
打赏
举报
回复
把代码改成如下:
public static bool IsContainGen(Control page)
{
foreach(Control c in page.Controls)
{
if ( c is TextBox ) //在页面搜索到文本框就跳出,函数返回true
{
return true; //这一句只能结束此次循环,为什么跳不出for循环?
}
else
{
if (c.HasControls())
{
Control tb=c;
return IsContainGen(tb);
}
}
}
return false;
}
tailzhou
2004-08-24
打赏
举报
回复
你没判断内层的调用吧?
if (c.HasControls())
{
Control tb=c;
return IsContainGen(tb);
}
dazhu2
2004-08-24
打赏
举报
回复
郁闷!return可以退出整个函数 呀?!
huguojunsy
2004-08-24
打赏
举报
回复
你这是递归调用,每次调用IsContainGen()时,IsContainGen内部又可以调用他自己...........,所以跳出了某次调用可能只是返回上一层的调用而已。
liujuanwh
2004-08-24
打赏
举报
回复
public static bool IsContainGen(Control page)
{
foreach(Control c in page.Controls)
{
if ( c is TextBox ) //在页面搜索到文本框就跳出,函数返回true
{
return true; //这一句只能结束此次循环,为什么跳不出for循环?
}
else
{
if (c.HasControls())
{
Control tb=c;
IsContainGen(tb);
}
}
}
return false;
}
代码在此
int64
2004-08-24
打赏
举报
回复
return能跳出任何东西
holysky
2004-08-24
打赏
举报
回复
肯定可以,
是不是程序逻辑有问题没有执行到return或是外部有个循环的对此函数的调用?
ncucf
2004-08-24
打赏
举报
回复
不会吧,return就会退出这个函数了!
何况是foreach!
dsclub
2004-08-24
打赏
举报
回复
只要执行到这句return就会立刻退出函数体
dsclub
2004-08-24
打赏
举报
回复
可以D
liujuanwh
2004-08-24
打赏
举报
回复
这个函数默认就是把page.Controls搜索完,当找到符合要求的Control后就跳出递归返回true,如果搜完了还没找到就返回false
lxcc
2004-08-24
打赏
举报
回复
用break跳出for循环
Ejnstein
2004-08-24
打赏
举报
回复
......
else
{
if (c.HasControls())
{
Control tb=c;
IsContainGen(tb);
//return IsContainGen(tb);
}
}
......
函数没有出口,如果上一层递归调用完后,而page.Controls还没有枚举完,那么For each还要继续。
wacle
2004-08-24
打赏
举报
回复
举个例子来说明吧:
bool A()
{
...
if(x>0)
{ bool result=A();
//假如执行到以后N次调用后x=0,那么返回true给result,但只是那一层的函数A()调用,并没有返回到最外层,再加个return 就可以了
return result;
}
else
return true;
}
js中Array.
forEach
跳出
循环
的方法实例.docx
js中Array.
forEach
跳出
循环
的方法实例.docx
Java 8跳过本次
循环
,继续执行以及
跳出
循环
,终止
循环
的代码实例
今天小编就为大家分享一篇关于Java 8跳过本次
循环
,继续执行以及
跳出
循环
,终止
循环
的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Javascript数组
循环
遍历之
forEach
详解
本篇文章主要介绍了Javascript 数组
循环
遍历之
forEach
详解,对学习
forEach
有很好的帮助,有需要的可以了解一下。
详解Kotlin:
forEach
也能break和continue
主要介绍了详解Kotlin:
forEach
也能break和continue的相关资料,需要的朋友可以参考下
JS
forEach
跳出
循环
2种实现方法
主要介绍了JS
forEach
跳出
循环
2种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
C#
111,094
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章