C#の制御文 - ループ制御(foreach文)

プログラムでは同じような処理を何度も繰り返したいケースがあります。
配列のような一連のデータに対して繰り返し処理したい場合には、キーワード(予約語)である foreach を使うと便利です。



foreach文

繰り返し処理を行う foreach 文は以下のように記述します。
foreach (変数宣言 in 配列)
{
    //配列の先頭から最後まで順番にこのブロックを繰り返し実行します
}
キーワード foreach に続くカッコの中にはキーワード in 区切られた2つの要素があります。

foreach文は配列の先頭から最後まで順に繰り返し処理が行われます。
キーワード in の前には配列の要素と同じ型の変数を宣言します。
繰り返し処理が行われる度に、配列の各要素その値がこの変数へ格納される仕組みになっています。

foreach文の例

  1. class Program
  2. {
  3. static void Main()
  4. {
  5. int[] a;
  6. a = new int[10];
  7. for (int i = 0; i < 10; ++i)
  8. {
  9. a[i] = i + 1;
  10. }
  11. int total;
  12. total = 0;
  13. foreach (int x in a)
  14. {
  15. total += x;
  16. }
  17. }
  18. }



その他のループ制御

ループを作り出す制御には while文の他に for文や foreach文があります。
while文では、条件式のみを指定するので自由度が高く様々なケースで利用できます。
for文は、カウンター用の変数を同時に定義できるので、回数が決まっている処理などに便利な構文です。
foreach文は、配列の各要素を処理する場合に便利な構文になっています。

また、ループ内の処理の流れを制御する break や continue があります。
break を使えばループを抜ける事が出来ます。
continue を使えばループの先頭へ戻す事が出来ます。




コメント