工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C# 入れ子ループ完全ガイド:for、while、do-while を徹底解説

入れ子ループとは

別のループの中にループを配置したものを入れ子ループと呼びます。構造は以下の通りです:

外側ループ { // 外側ループの本体
    内側ループ { // 内側ループの本体
    }
    ...
}

ご覧の通り、外側ループが内側ループを囲んでいます。内側ループは外側ループの一部であり、外側ループの本体内で開始し、完結しなければなりません。

外側ループの各反復で、内側ループが完全に実行されます。

入れ子 for ループ

別の for ループの中に for ループを配置したものを入れ子 for ループと呼びます。

例:

for (int i = 0; i < 5; i++) { // 外側 for ループの本体
    for (int j = 0; j < 5; j++) { // 内側 for ループの本体
    }
    // 外側 for ループの本体
}

例 1:入れ子 for ループ

using System;
namespace Loop {
    class NestedForLoop {
        public static void Main(string[] args) {
            int outerLoop = 0, innerLoop = 0;
            for (int i = 1; i <= 5; i++) {
                outerLoop++;
                for (int j = 1; j <= 5; j++) {
                    innerLoop++;
                }
            }
            Console.WriteLine("外側ループ実行回数: {0} 回", outerLoop);
            Console.WriteLine("内側ループ実行回数: {0} 回", innerLoop);
        }
    }
}

実行結果:

外側ループ実行回数: 5 回
内側ループ実行回数: 25 回

このプログラムでは、外側ループが5回実行されます。外側ループが1回実行されるたびに、内側ループが5回実行されるため、合計25回実行されます。

例 2:パターン出力する入れ子 for ループ

using System;
namespace Loop {
    class NestedForLoop {
        public static void Main(string[] args) {
            for (int i = 1; i <= 5; i++) {
                for (int j = 1; j <= i; j++) {
                    Console.Write(j + " ");
                }
                Console.WriteLine();
            }
        }
    }
}

実行結果:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

入れ子 while ループ

別の while ループの中に while ループを配置したものを入れ子 while ループと呼びます。

例:

while (条件1) { // 外側 while ループの本体
    while (条件2) { // 内側 while ループの本体
    }
    // 外側 while ループの本体
}

例 3:入れ子 while ループ

using System;
namespace Loop {
    class NestedWhileLoop {
        public static void Main(string[] args) {
            int i = 0;
            while (i < 2) {
                int j = 0;
                while (j < 2) {
                    Console.Write("({0},{1}) ", i, j);
                    j++;
                }
                i++;
                Console.WriteLine();
            }
        }
    }
}

実行結果:

(0,0) (0,1)
(1,0) (1,1)

入れ子 do-while ループ

別の do-while ループの中に do-while ループを配置したものを入れ子 do-while ループと呼びます。

例:

do { // 外側 do-while ループの本体
    do { // 内側 do-while ループの本体
    } while (条件2);
    // 外側 do-while ループの本体
} while (条件1);

例 4:入れ子 do-while ループ

using System;
namespace Loop {
    class NestedWhileLoop {
        public static void Main(string[] args) {
            int i = 0;
            do {
                int j = 0;
                do {
                    Console.Write("({0},{1}) ", i, j);
                    j++;
                } while (j < 2);
                i++;
                Console.WriteLine();
            } while (i < 2);
        }
    }
}

実行結果:

(0,0) (0,1)
(1,0) (1,1)

異なるタイプの内側・外側ループの組み合わせ

同じタイプのループを入れ子にする必要はありません。while ループの中に for ループを、for ループの中に do-while ループを配置することも可能です。

例 5:C# 入れ子ループ:異なる内側・外側ループ

using System;
namespace Loop {
    class NestedLoop {
        public static void Main(string[] args) {
            int i = 1;
            while (i <= 5) {
                for (int j = 1; j <= i; j++) {
                    Console.Write(i + " ");
                }
                Console.WriteLine();
                i++;
            }
        }
    }
}

実行結果:

1
2 2
3 3 3
4 4 4 4
5 5 5 5 5

上記プログラムでは、while ループの中に for ループを配置しています。ループの中に異なるタイプのループを配置できます。

C言語

  1. C# コレクション完全マスター:スタック、キュー、リスト、ハッシュテーブル
  2. C 言語ビット演算子マスター: AND、OR、XOR、シフト、補数
  3. Cプログラム構造の理解:初心者向けガイド
  4. C++ CGIプログラミング入門:Webアプリケーション開発の基礎
  5. C++データ型修飾子を理解する:signed, unsigned, long, short
  6. C#データ型完全解説:int、double、bool、string等の使い方と実例
  7. C 言語の関数ポインタ: 実践例とベストプラクティス
  8. C#インターフェース完全解説:定義、実装例、実践的活用法
  9. C# foreach ループ:配列とコレクションを簡単に反復処理
  10. C 言語のループ完全ガイド: for、while、do-while を実例でマスター
  11. C++ストレージクラス完全解説:スコープ、ライフタイム、使い方