【C#入門】繰り返し処理(foreach文)の使い方を分かりやすいサンプルコードで徹底解説③
今回は繰り返し処理の続きです。
ここでは「foreach」について紹介します。
foreach文
foreachはコレクションの要素を、先頭から最後まで変数に取り出す制御文です。
また、コレクションの要素数を取得する必要もありません。
ですので、簡潔に記述することができて便利です。
そしてfor文のように、インデックス番号を指定するint型変数iを定義したり、
それをループごとにインクリメント(i++)する必要はありません。
• foreach文
1 2 3 4 |
foreach(データ型 変数 in コレクション) { 処理 } |
foreach文の例題を見てみましょう。
1 2 3 4 5 6 7 8 9 10 |
static void Main(string[] args) { int[] number = { 123, 456, 789, 1000 }; foreach (int n in number) { Console.Write($"{n} "); } } |
foreachの実行結果
まず配列numberの先頭要素の123を変数nに取り出します。
次の繰り返しでは、その次の要素の456を変数nに取り出します。
配列numberから取り出す要素がなくなるまで繰り返します。
この例をfor文で書き直すと次のようになります。
1 2 3 4 5 6 |
for (int i = 0; i < number.Length; i++) { int n = number[i]; Console.Write($"{n} "); } |
配列の要素数をLengthプロパティで取得する必要がないなど、
forに比べるとforeachのほうがはるかにスッキリと記述することができますね。
配列のようなコレクションの全要素を処理する場合には、forではなく、
foreachを使用すると便利です。ただし、次の点に注意してください。
・コレクションを取り出す変数のデータ型はコレクションと同じ型
(または互換性のある型)にする
・コレクションを取り出す変数は読み取り専用なので、
foreachを使ってコレクションの内容を変更することはできない
コラム
コレクション
コレクション(「コンテナ」ともいいます)とは配列やリスト、辞書などの複数の要素を
ひとつにまとめるクラスのことです。
複数の要素をまとめておく方法にはさまざまな方法があり、その方法によって呼び名が変わります。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。