カテゴリ: C# 更新日: 2025/07/18

C#でループの中に条件分岐を書く方法!入れ子制御構造の基本

C#でループの中に条件分岐を書く方法!入れ子制御構造の基本
C#でループの中に条件分岐を書く方法!入れ子制御構造の基本

先生と生徒の会話形式で理解しよう

生徒

「C#で繰り返し処理をしている途中で、条件によって違う動きをさせることってできますか?」

先生

「はい、できますよ。C#ではループの中にif文を入れることで、条件に応じた処理を繰り返すことができます。」

生徒

「それって難しくないですか?どんな風に書くのか想像がつかなくて…」

先生

「心配いりません。とてもシンプルなので、一緒に見ていきましょう!」

1. ループとは?

1. ループとは?
1. ループとは?

ループとは、同じ処理を何回も繰り返して行うためのしくみです。たとえば、数字を1から10まで順番に表示したいときなどに使います。

C#では、for文while文foreach文などのループがあります。この記事では、代表的なfor文を使って説明します。

2. 条件分岐とは?

2. 条件分岐とは?
2. 条件分岐とは?

条件分岐とは、「ある条件に合っているかどうか」によって処理を変えることです。C#では、if文を使って条件分岐を行います。

たとえば、「もしスコアが60点以上だったら合格と表示する」といった処理ができます。

3. ループの中にif文を入れるとは?

3. ループの中にif文を入れるとは?
3. ループの中にif文を入れるとは?

for文などのループの中に、if文を組み合わせることで、繰り返しの中で条件に応じた処理を行うことができます。これを「入れ子(ネスト)構造」といいます。

たとえば、「1から10までの数字のうち、偶数だけを表示したい」といった処理に使えます。

4. 具体的なコード例を見てみよう

4. 具体的なコード例を見てみよう
4. 具体的なコード例を見てみよう

以下は、1から10までの数字をループで回して、その中で偶数だけを表示する例です。


for (int i = 1; i <= 10; i++)
{
    if (i % 2 == 0)
    {
        Console.WriteLine(i + " は偶数です。");
    }
}

実行結果:


2 は偶数です。
4 は偶数です。
6 は偶数です。
8 は偶数です。
10 は偶数です。

5. コードの解説

5. コードの解説
5. コードの解説

for (int i = 1; i <= 10; i++)の部分は、「iを1から始めて10まで1ずつ増やしながら繰り返す」という意味です。

if (i % 2 == 0)は、「iを2で割った余りが0、つまり偶数のときに」という条件です。

このように、ループの中に条件分岐を入れることで、「繰り返しの中でも、条件を見て処理を分ける」ということができます。

6. もっとわかりやすい例で確認しよう

6. もっとわかりやすい例で確認しよう
6. もっとわかりやすい例で確認しよう

次は、10人の生徒のテストの点数があって、60点以上なら「合格」と表示する例です。


int[] scores = { 55, 78, 62, 45, 90, 33, 70, 85, 59, 60 };

for (int i = 0; i < scores.Length; i++)
{
    if (scores[i] >= 60)
    {
        Console.WriteLine((i + 1) + "番目の生徒は合格です(" + scores[i] + "点)");
    }
}

実行結果:


2番目の生徒は合格です(78点)
3番目の生徒は合格です(62点)
5番目の生徒は合格です(90点)
7番目の生徒は合格です(70点)
8番目の生徒は合格です(85点)
10番目の生徒は合格です(60点)

7. 入れ子構造の注意点

7. 入れ子構造の注意点
7. 入れ子構造の注意点

入れ子(ネスト)が深くなりすぎると、コードが読みにくくなったり、バグの原因になったりします。

たとえば、ループの中にifがあって、さらにその中に別のifがあると、だんだん見づらくなってしまいます。

なるべく入れ子を深くしすぎず、処理を分けたり、メソッドを使って整理するのがよい方法です(今回はメソッドの説明は省略)。

8. 入れ子構造の応用アイデア

8. 入れ子構造の応用アイデア
8. 入れ子構造の応用アイデア

ループの中にif文を入れるテクニックは、いろんな場面で使えます。たとえば:

  • 複数の条件に応じて、異なるメッセージを出す
  • 条件に応じて合計点を計算する
  • 特定の条件を満たすデータだけを処理する

現実のプログラムでもとてもよく使う基本テクニックなので、しっかり身につけておきましょう。

カテゴリの一覧へ
新着記事
C#のコーディング規約(C# Coding Conventions)とは?読みやすいコードを書くための基本ルール
C#のデストラクタ(ファイナライザ)の使い方と注意点をやさしく解説!
COBOL資産のバージョン管理とは?初心者でもわかる保守と管理の基本
COBOLのUSAGE句(DISPLAY・COMPなど)をやさしく解説!初心者でもわかる効率化の基本
人気記事
No.1
Java&Spring記事人気No1
COBOLで学ぶSELECT文のORDER BY・GROUP BY活用法!初心者でもわかるデータ集計
No.2
Java&Spring記事人気No2
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.3
Java&Spring記事人気No3
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法
No.4
Java&Spring記事人気No4
COBOLで学ぶカーソル操作と複数行データ取得の基本
No.5
Java&Spring記事人気No5
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.7
Java&Spring記事人気No7
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.8
Java&Spring記事人気No8
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド