public static void Main()
        {
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; i < 10; j++)
                {
                    if (j == 5)
                    {
                        Console.WriteLine("j={0},tm={1}", j,DateTime.Now);
                        break;
                    }
                }
                Thread.Sleep(1000);
                Console.WriteLine("i={0}",i);
            }
            Console.WriteLine("完成" + DateTime.Now);
           Console.ReadLine();
        }
如上面代码,当j == 5时它会退出for (int j = 0; i < 10; j++)的循环,
我想当j == 5时让它退出整个循环(i和j的循环)执行“Console.WriteLine("完成" + DateTime.Now);
”,请问用什么关键字?

解决方案 »

  1.   

    跳出两个循环似乎没有什么关键字吧,
    要么用goto(我从来不用)
    要么把两个循环独立成一个方法,用return退出
      

  2.   

    用一个变量控制吧
     public static void Main()
            {
                bool tag = false;
                for (int i = 0; i < 10; i++)
                {
                    for (int j = 0; i < 10; j++)
                    {
                        if (j == 5)
                        {
                            Console.WriteLine("j={0},tm={1}", j,DateTime.Now);
                            tag = true;
                            break;
                        }
                    }
                    if(tag) break;
                    Thread.Sleep(1000);
                    Console.WriteLine("i={0}",i);
                }
                Console.WriteLine("完成" + DateTime.Now);
               Console.ReadLine();
            }
      

  3.   

    或者把j在for外面声明,然后坚持j的值,这样可以少设置控制变量
     
      

  4.   

                for (int i = 0; i < 10; i++)
                {
                    for (int j = 0; i < 10; j++)
                    {
                        if (j == 5)
                        {
                            Console.WriteLine("完成" + DateTime.Now);
                            Console.WriteLine("j={0},tm={1}", j,DateTime.Now);
                            break;
                        }
                    }
                    Thread.Sleep(1000);
                    Console.WriteLine("i={0}",i);
                }
      

  5.   

    public   static   void   Main() 
                    { 
                         for   (int   i   =   0;   i   <   10;   i++) 
                            { 
                                    for   (int   j   =   0;   i   <   10;   j++) 
                                    { 
                                            if   (j   ==   5) 
                                            { 
                                                    Console.WriteLine("j={0},tm={1}",   j,DateTime.Now); 
                                                    break; 
                                            } 
                                    } 
                                    break; 
                                    Thread.Sleep(1000); 
                                    Console.WriteLine("i={0}",i); 
                            } 
                            Console.WriteLine("完成"   +   DateTime.Now); 
                          Console.ReadLine(); 
                    }