for (int i = 0; i < 9; i++)
            {
                if(i == 7)
                {
                  break;//跳出去了
                  //但是我还想要在break 后面执行 i = 0;再跳出去
                  i = 0; 请问如何写呢?
                 }
            }

解决方案 »

  1.   

    你把i定义到for循环外面当你的for循环结束时就把i=0
    int i;
    for (int i = 0; i < 9; i++)
                {
                    if(i == 7)
                    {
                      break;//跳出去了
                      
                     
                     }
                }
     i = 0;
      

  2.   

    int i;
    for ( i = 0; i < 9; i++)
                {
                    if(i == 7)
                    {
                      break;//跳出去了
                      
                     
                     }
                }
     i = 0;
      

  3.   

    i=0是任何情况都处理,还是只是在 i==7时处理?
    纯看你这段程序的话,i是局部变量,for完就没了,在外边不能赋值的。如果是在i==7时处理i=0;
    for (int i = 0; i < 9; i++)
                {
                    if(i == 7)
                    {
                      i = 0; //不break就死循环了
                      break;//跳出去了
                     }
                }
      

  4.   

    i的生命周期是在for里面的,LZ要用的话,要用个作用范围更大的变量来操作
      

  5.   

    for (int i = 0; i < 9; i++)
                {
                    if(i == 7)
                    {
                      i = 0; //在这里写就可以了
                      break;//跳出去了
                     }
                }
    这样就行了,但很想知道楼主到底想实现什么目的?
      

  6.   

    对不起各位 辛苦了,我忘了把问题说清楚了,首先感谢大家极极的回答,我非常的欣慰。for (int i = 0; i < 9; i++)
                {
                    if(i == 7)
                    {
                      break;//跳出去了
                      //但是我还想要在break 后面执行 i = 0;再跳出去
                      i = 0;//必须在break后面执行 i = 0,也就是说当这个执行这个判断的时候跳出循环了,但是必须重置 i = 0; 不能用全局变量等等。
                              
                     }
                }如果没有这样的语法的话就算了,我只有使用全局变量了,我想在break后面应该有办法实现我想要的东西
      

  7.   

    我想比如:for (int i = 0; i < 9; i++)
                {
                    if(i == 7)
                    {
                      break;//跳出去了
                      default;//加个default 哈哈 必须执行default后面的  嘿嘿
                      i = 0; // 呵呵 不知道有这样的语法吗?或者类似的语法 呵呵
                     }
                }
      

  8.   

    LZ还是说清楚
    for (int i = 0; i < 9; i++)
                {
                    if(i == 7)
                    {
                      i = 0; //在这里写就可以了
                      break;//跳出去了
                     }
                }
    这样写就可以了
    但是这个局部变量i对你并没有什么用,因为是局部的
    想实现其它用途的话,还是使用全局的吧
      

  9.   

    SmallMummy(笑看人生) 你的 i 在break 前面哈 if(i == 7)
                    {
                      i = 0; //在这里写就可以了
                      break;//跳出去了
                     }
    呵呵 不能满足我的需求,我仔细看了下我的代码,我发觉就算实现了在break 后面 i = 0,也不是我要的,哈哈 简直闹笑话了撒 不好意思各位
      

  10.   

    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;
                }