c# 中跳出当前循环 ,但是不中断循环的方法?
privatevoid关闭所有EToolStripMenuItem_Click(objectsender,EventArgse){Form[]ff2=this.MdiCh...
private void 关闭所有EToolStripMenuItem_Click(object sender, EventArgs e)
{
Form[] ff2 = this.MdiChildren;
for (int i = 0; i < ff2.Length; i++)
{
Form2 f2=(Form2)ff2[i];
MessageBox.Show(f2.Text);
if (f2.Text.IndexOf('*') == -1)
{
return;
}
DialogResult dr = MessageBox.Show("文本已修改,是否保存?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
switch (dr)
{
case DialogResult.Yes:
frmJishiben f = (frmJishiben)this.MdiParent;
f.save(sender, new EventArgs());
return;
case DialogResult.No:
return;
case DialogResult.Cancel:
return;
}
}
}
如果这里return掉的话虽然可以跳出循环但是不继续循环了~~~! 展开
{
Form[] ff2 = this.MdiChildren;
for (int i = 0; i < ff2.Length; i++)
{
Form2 f2=(Form2)ff2[i];
MessageBox.Show(f2.Text);
if (f2.Text.IndexOf('*') == -1)
{
return;
}
DialogResult dr = MessageBox.Show("文本已修改,是否保存?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
switch (dr)
{
case DialogResult.Yes:
frmJishiben f = (frmJishiben)this.MdiParent;
f.save(sender, new EventArgs());
return;
case DialogResult.No:
return;
case DialogResult.Cancel:
return;
}
}
}
如果这里return掉的话虽然可以跳出循环但是不继续循环了~~~! 展开
6个回答
展开全部
再学习一下break和continue两个关键字:
break:从当前位置跳出,并且不再执行循环里的内容;
continue:从当前位置跳出,并且不执行continue后面的代码行,而进入下一次循环,也就是进行循环增量的继续改变.
break:从当前位置跳出,并且不再执行循环里的内容;
continue:从当前位置跳出,并且不执行continue后面的代码行,而进入下一次循环,也就是进行循环增量的继续改变.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Continue
Continue 结束本次循环,并开始下次循环
continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!
Continue 结束本次循环,并开始下次循环
continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先更正你的一个错误,
在switch中 case 情况 下 不是使用return 而是使用break;
其次你的问题的解决办法就是将return 换成continue。
xiaogang1135 说的很有道理
在switch中 case 情况 下 不是使用return 而是使用break;
其次你的问题的解决办法就是将return 换成continue。
xiaogang1135 说的很有道理
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
...
private void 关闭所有EToolStripMenuItem_Click(object sender, EventArgs e)
{
Form[] ff2 = this.MdiChildren;
for (int i = 0; i < ff2.Length; i++)
{
Form2 f2=(Form2)ff2[i];
MessageBox.Show(f2.Text);
if (f2.Text.IndexOf('*') == -1)
{
return;
}
DialogResult dr = MessageBox.Show("文本已修改,是否保存?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
switch (dr)
{
case DialogResult.Yes:
frmJishiben f = (frmJishiben)this.MdiParent;
f.save(sender, new EventArgs());
return;
case DialogResult.No:
return;
case DialogResult.Cancel:
continue; ///////////////////改了的,。 。,
}
}
}
private void 关闭所有EToolStripMenuItem_Click(object sender, EventArgs e)
{
Form[] ff2 = this.MdiChildren;
for (int i = 0; i < ff2.Length; i++)
{
Form2 f2=(Form2)ff2[i];
MessageBox.Show(f2.Text);
if (f2.Text.IndexOf('*') == -1)
{
return;
}
DialogResult dr = MessageBox.Show("文本已修改,是否保存?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
switch (dr)
{
case DialogResult.Yes:
frmJishiben f = (frmJishiben)this.MdiParent;
f.save(sender, new EventArgs());
return;
case DialogResult.No:
return;
case DialogResult.Cancel:
continue; ///////////////////改了的,。 。,
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用continue,
continue 的意思就是结束本次循环,进入下次循环.
continue 的意思就是结束本次循环,进入下次循环.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询