语法问题:关于for循环中使用break语句,请高手指教一下,谢谢

jy757443 2006-10-29 10:01:31
for (int i = 0; i < 9; i++)
{
if(i == 7)
{
break;//跳出去了
//但是我还想要在break 后面执行 i = 0;再跳出去
i = 0; 请问如何写呢?
}
}
...全文
595 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jy757443 2006-10-29
  • 打赏
  • 举报
回复
liujia_0421() 想知道我在做什么
回答:我在写一个打印程序 呵呵 部分代码如下
for (; t < printTable.GetLength(0); t++)
{
for (int j = 0; j < printTable.GetLength(1); j++)
{
e.Graphics.DrawString(printTable[t, j], fnt, s, x + 5, y + 6);//字体边距 + 5,字体行距 + 6;
sw.WriteLine(column[j].ToString());
x = x + column[j] + 10;//字体与字体距离 + 10;
if (x > e.MarginBounds.Width)
{
break;
}
}


if (yRow + 10 + fnt.GetHeight(e.Graphics) > e.MarginBounds.Height)//判断下一行y点是否超出了打印页面的高度
{
e.HasMorePages = true;
t++;
break;//这里就是我想重置 t = 0; 但是这个想法是错误 哈哈
}
x = e.MarginBounds.Left;
}
jy757443 2006-10-29
  • 打赏
  • 举报
回复
SmallMummy(笑看人生) 你的 i 在break 前面哈

if(i == 7)
{
i = 0; //在这里写就可以了
break;//跳出去了
}
呵呵 不能满足我的需求,我仔细看了下我的代码,我发觉就算实现了在break 后面 i = 0,也不是我要的,哈哈 简直闹笑话了撒 不好意思各位
SmallMummy 2006-10-29
  • 打赏
  • 举报
回复
LZ还是说清楚
for (int i = 0; i < 9; i++)
{
if(i == 7)
{
i = 0; //在这里写就可以了
break;//跳出去了
}
}
这样写就可以了
但是这个局部变量i对你并没有什么用,因为是局部的
想实现其它用途的话,还是使用全局的吧
jy757443 2006-10-29
  • 打赏
  • 举报
回复
我想比如:

for (int i = 0; i < 9; i++)
{
if(i == 7)
{
break;//跳出去了
default;//加个default 哈哈 必须执行default后面的 嘿嘿
i = 0; // 呵呵 不知道有这样的语法吗?或者类似的语法 呵呵
}
}
jy757443 2006-10-29
  • 打赏
  • 举报
回复
对不起各位 辛苦了,我忘了把问题说清楚了,首先感谢大家极极的回答,我非常的欣慰。

for (int i = 0; i < 9; i++)
{
if(i == 7)
{
break;//跳出去了
//但是我还想要在break 后面执行 i = 0;再跳出去
i = 0;//必须在break后面执行 i = 0,也就是说当这个执行这个判断的时候跳出循环了,但是必须重置 i = 0; 不能用全局变量等等。

}
}

如果没有这样的语法的话就算了,我只有使用全局变量了,我想在break后面应该有办法实现我想要的东西
liujia_0421 2006-10-29
  • 打赏
  • 举报
回复
for (int i = 0; i < 9; i++)
{
if(i == 7)
{
i = 0; //在这里写就可以了
break;//跳出去了
}
}


这样就行了,但很想知道楼主到底想实现什么目的?
Janyue 2006-10-29
  • 打赏
  • 举报
回复
声明一个全局变量!
andybogard 2006-10-29
  • 打赏
  • 举报
回复
i的生命周期是在for里面的,LZ要用的话,要用个作用范围更大的变量来操作
ff167 2006-10-29
  • 打赏
  • 举报
回复
i=0是任何情况都处理,还是只是在 i==7时处理?
纯看你这段程序的话,i是局部变量,for完就没了,在外边不能赋值的。

如果是在i==7时处理i=0;
for (int i = 0; i < 9; i++)
{
if(i == 7)
{
i = 0; //不break就死循环了
break;//跳出去了
}
}
早起晚睡 2006-10-29
  • 打赏
  • 举报
回复
int i;
for ( i = 0; i < 9; i++)
{
if(i == 7)
{
break;//跳出去了


}
}
i = 0;
早起晚睡 2006-10-29
  • 打赏
  • 举报
回复
你把i定义到for循环外面当你的for循环结束时就把i=0
int i;
for (int i = 0; i < 9; i++)
{
if(i == 7)
{
break;//跳出去了


}
}
i = 0;

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧