问题描述
For循环嵌套。如何让内层循环结束得时候跳出到外层循环?
解决方案
解决方案二:
boolisback=false;for(...){for(..){if(...){isback=true;break;}}if(isback)break;}
解决方案三:
for(inti=0;i<dtServiceCarTrackInfo.Rows.Count;i++){cache.Add("table"+dtServiceCarTrackInfo.Rows[i]["ServiceCarID"].ToString(),dtServiceCarTrackInfo.Select("ServiceCarID='"+dtServiceCarTrackInfo.Rows[i]["ServiceCarID"].ToString()+"'").CopyToDataTable());DataTabledtServiceCarTrackLastInfo=GetServiceCarTrackInfo();for(intj=0;j<dtServiceCarTrackLastInfo.Rows.Count;j++){if(dtServiceCarTrackInfo.Rows[i]["ServiceCarID"].ToString()==dtServiceCarTrackLastInfo.Rows[j]["ServiceCarID"].ToString()){DataTabledt=(DataTable)cache["table"+dtServiceCarTrackInfo.Rows[i]["ServiceCarID"].ToString()];dt.ImportRow(dtServiceCarTrackLastInfo.Rows[j]);cache.Add("table"+dtServiceCarTrackInfo.Rows[i]["ServiceCarID"].ToString(),dt);}}}
解决方案四:
for(...){for(..){}break;}
解决方案五:
我内层的循环,一直在和一直比较,我想等到所有的都比较完了。然后跳出循环,重新再来。这样可以吗?
解决方案六:
引用4楼tianxiezuo的回复:
我内层的循环,一直在和一直比较,我想等到所有的都比较完了。然后跳出循环,重新再来。这样可以吗?
比较完了还循环啥,没啥特殊要求就按一楼所述加个变量判断就成了!
解决方案七:
引用5楼fangxuan的回复:
比较完了还循环啥,没啥特殊要求就按一楼所述加个变量判断就成了!
有这种情况,第一条不相等,跳过,第二条相等存入cache,继续,第三条不相等,继续循环。一直这样下去,直到所有的数据都比较完了,再跳到上层循环,可以这样吗?
解决方案八:
引用6楼tianxiezuo的回复:
Quote: 引用5楼fangxuan的回复:
比较完了还循环啥,没啥特殊要求就按一楼所述加个变量判断就成了!有这种情况,第一条不相等,跳过,第二条相等存入cache,继续,第三条不相等,继续循环。一直这样下去,直到所有的数据都比较完了,再跳到上层循环,可以这样吗?
boolisback=false;for(...){for(..){if(...){isback=true;}}if(isback)break;}
解决方案九:
引用7楼liuchaolin的回复:
Quote: 引用6楼tianxiezuo的回复:
Quote: 引用5楼fangxuan的回复:
比较完了还循环啥,没啥特殊要求就按一楼所述加个变量判断就成了!有这种情况,第一条不相等,跳过,第二条相等存入cache,继续,第三条不相等,继续循环。一直这样下去,直到所有的数据都比较完了,再跳到上层循环,可以这样吗?
boolisback=false;for(...){for(..){if(...){isback=true;}}if(isback)break;}
True的情况会有好多。
解决方案十:
你管他被重新附上多少次true,只要他是true,就只循环完这一次就结束
解决方案十一:
引用9楼liuchaolin的回复:
你管他被重新附上多少次true,只要他是true,就只循环完这一次就结束
意思是,尽管他是true内循环仍然要继续,直到循环结束,再跳出,行吗?
解决方案十二:
引用10楼tianxiezuo的回复:
Quote: 引用9楼liuchaolin的回复:
你管他被重新附上多少次true,只要他是true,就只循环完这一次就结束意思是,尽管他是true内循环仍然要继续,直到循环结束,再跳出,行吗?
难道现在不是这样吗?isback在内循环只做标识,不做退出,结束后到外循环,判断标识为true就break退出
解决方案十三:
引用11楼liuchaolin的回复:
Quote: 引用10楼tianxiezuo的回复:
Quote: 引用9楼liuchaolin的回复:
你管他被重新附上多少次true,只要他是true,就只循环完这一次就结束意思是,尽管他是true内循环仍然要继续,直到循环结束,再跳出,行吗?
难道现在不是这样吗?isback在内循环只做标识,不做退出,结束后到外循环,判断标识为true就break退出
有可能这种情况,循环第一次,结果为true.循环跳出,以后的结果也可能为True,可是循环已经跳出了。
解决方案十四:
嗯,也可以是这样吧~
解决方案十五:
谈“goto”色变,教条主义,生搬硬套,囫囵吞枣....很多时候,明明简单的goto就搞定,非要dowhile(0)....或者大量的ifflag,break...死读书,尽信书,不如无书。。。况且,就算是当年的goto之争,那也是以Dij***一方为代表反对,而另外一方则大量探讨了goto的实用性...有人,偏喜欢,一叶障目....削足适履...
解决方案:
也可以把循环提取成一个方法,然后在内层return