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

C# foreach ループ:配列とコレクションを簡単に反復処理

C# foreach ループ

foreach ループが C# で配列やコレクションの反復処理をどう簡素化し、可読性とパフォーマンスを向上させるかを発見してください。

C# において foreach ループは、配列、リスト、その他のコレクションを扱う際、従来の for ループに代わるよりクリーンで表現力豊かな選択肢を提供します。インデックス処理を自動で行うため、コードが読みやすく、エラーが起きにくくなります。

始める前に、以下の基礎トピックを復習してください:


foreach ループの構文

foreach (element in iterableItem) {
    // foreach ループの本体
}

iterableItem は配列、リスト、または IEnumerable を実装する任意の型です。


foreach ループの仕組み

C# foreach ループ:配列とコレクションを簡単に反復処理

in キーワードは、各反復で iterableItem から各アイテムを選択し、変数 element に代入します。ループは要素ごとに 1 回実行されるため、反復回数はコレクション内のアイテム数と等しくなります。


例 1:for ループで配列を出力

using System;
namespace Loop {
    class ForLoop {
        public static void Main(string[] args) {
            char[] myArray = {'H','e','l','l','o'};
            for (int i = 0; i < myArray.Length; i++) {
                Console.WriteLine(myArray[i]);
            }
        }
    }
}

例 2:foreach ループで配列を出力

using System;
namespace Loop {
    class ForEachLoop {
        public static void Main(string[] args) {
            char[] myArray = {'H','e','l','l','o'};
            foreach (char ch in myArray) {
                Console.WriteLine(ch);
            }
        }
    }
}

両方のプログラムは以下を出力します:

H
e
l
l
o

foreach 版はより短く、インデックス計算を排除し、オフバイワンエラーのリスクを減らします。


例 3:性別配列での男女カウント

この例では、配列内の 'm' と 'f' の出現回数を集計します。

using System;
namespace Loop {
    class GenderCount {
        public static void Main(string[] args) {
            char[] gender = {'m','f','m','m','m','f','f','m','m','f'};
            int male = 0, female = 0;
            foreach (char g in gender) {
                if (g == 'm') male++;
                else if (g == 'f') female++;
            }
            Console.WriteLine("Number of male = {0}", male);
            Console.WriteLine("Number of female = {0}", female);
        }
    }
}

出力:

Number of male = 6
Number of female = 4

例 4:foreach でリストの合計を計算

List<int> を使用して、foreach がジェネリックコレクションとシームレスに動作することを示します。

using System;
using System.Collections.Generic;
namespace Loop {
    class SumList {
        public static void Main(string[] args) {
            var numbers = new List<int>() { 5, -8, 3, 14, 9, 17, 0, 4 };
            int sum = 0;
            foreach (int number in numbers) {
                sum += number;
            }
            Console.WriteLine("Sum = {0}", sum);
            Console.ReadLine();
        }
    }
}

結果:

Sum = 44

配列とコレクションの両方のシナリオで、foreach はよりクリーンで保守しやすいコードを提供します。要素の読み取りのみが必要で、直接的なインデックス操作を必要としない場合は常に foreach を優先してください。

C言語

  1. C# while 文と do-while 文をマスターする:構文、例、ベストプラクティス
  2. C# for ループをマスターする:構文、フロー、実践例
  3. C++ forループ完全ガイド:ステップバイステップでマスター
  4. C++ while/do-whileループ完全ガイド:繰り返し処理をマスターする
  5. C言語forループ完全マスター:構文、仕組み、実践例
  6. C言語while/do-whileループ完全マスター:実践例付き
  7. C++ do-while文:構文、実践例、ネストしたループ
  8. Python forループ完全マスター: 構文・例・高度なパターン
  9. Python whileループ完全マスター: 構文・例・ベストプラクティス
  10. Python ループ制御 break & continue 完全マスター
  11. Java拡張forループをマスター:構文、例、ベストプラクティス