C#——サイクルの中断

2594 ワード


サイクルの中断-
                   Break、continue、return
 
    
例1:Break、continue、returnの3つの違いを次の例で比較する.
namespace  
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            while (i<12)
            {
                Console.WriteLine("i={0}",i);
                i++;
                if (i == 10)
                {
                    //break; // while , while 
                    //continue;// while , while 
                    return;  // , 
                }
                Console.WriteLine(" i={0}",i);
            }
            Console.WriteLine("before ReadKey");
            Console.ReadKey();
        }
    }
}

例1の実行結果から、以下をまとめることができる.
 
break-whileサイクルを終了し、whileの後のコードを続行します.
continue-whileの今回のループを終了し、whileの後ろのコードを継続します.
return-現在実行されている関数を終了し、後続のすべてのコードは実行されません.
 
例2:while continueを用いて、計算1〜100の間の7で割り切れる以外のすべての整数の和を実現する.
コードは次のとおりです.
namespace  
{
    class Program
    {
        static void Main(string[] args)
        {
            // while continue 1 100 7 
            int sum = 0;
            int i = 1;
            while (i <= 100)
            {
                if (i % 7 == 0)   // 7 0, 。
                {
                    i++;         // !i ! !
                    continue;
                }
                sum = sum + i;
                i++;
            }
            Console.WriteLine("{0}", sum);
            Console.ReadKey();
        }
    }
}

 
例3:admin、888888でない限り、ユーザーにユーザー名とパスワードの入力を要求することをwhile breakで実現し、再入力を要求し続けた.
namespace  
{
    class Program
    {
        static void Main(string[] args)
        {
            // while break , admin、888888 。 
            while (true)
            {
                Console.WriteLine(" ");
                string userName = Console.ReadLine();
                Console.WriteLine(" ");
                string passWord = Console.ReadLine();
                
                    if (userName == "admin" && passWord == "888888")
                    {
                        Console.WriteLine(" !");
                        break;
                    }
            }
            Console.ReadKey();
        }
    }
}