C#を学び始めたけど、foreachの使い方が分からない…
教えてください!
C#を学び始めたけど、、、
「foreachの使い方が分からない」
このような疑問をお持ちではありませんか?
『foreach』はC#特有の文法です。そのため、初めてC#を学ぶ方にはとっつきにくいかもしれません。
そこで、『foreach』の使い方を現役エンジニアである私が分かりやすく解説します。
foreach文とは
foreach文とは、for文と同様に繰り返しループ処理を行う構文です。
配列などの要素を取り出すときに使用し、for文と比較してもコードが簡潔になります。コードが簡潔になるため、読みやすくなり、エラーを減らすことができるというメリットがあります。
foreach文の使い方
foreach文は以下のようにコードを記載して使用します。
foreach(型名 変数名 in コレクションまたは配列) {
処理文
}
以下にサンプルコードを記載します。
using System;
namespace Sample
{
class Sample
{
static void Main()
{
//変数srcを宣言し、配列を代入
var src = new [] { 10, 20, 30, 40, 50 };
//変数iに配列srcに要素を順番に代入
foreach (var i in src)
{
//変数iを出力
Console.WriteLine("{0}", i);
}
}
}
}
サンプルコードを実行した際の出力結果は以下のようになります。
10
20
30
40
50
ここからは、サンプルコードを解説していきます。
10行目で変数src配列(要素数:5)を宣言し、代入します。
13行目で、変数i(型名:var)に配列srcの要素をを1つずつ順番に代入しています。
16行目で変数iを出力すると、配列srcの要素を順番に記述されるようになります。
foreach文とbreak文の使い方
break文とは、ループ処理を途中で抜けることが出来る処理です。
言葉では分かりにくいので、実際にコードを見ていきましょう!
using System;
namespace Sample
{
class Sample
{
static void Main()
{
//変数srcを宣言し、配列を代入
var src = new [] { 10, 20, 30, 40, 50 };
//変数iに配列srcに要素を順番に代入
foreach (var i in src)
{
//iの値が40のとき
if(i == 40)
{
//ループ処理を抜ける
break;
}
//iの値が40ではないとき
else
{
//変数iを出力
Console.WriteLine("{0}", i);
}
}
}
}
}
上記のコードを実行すると、以下のような出力結果が得られます。
10
20
30
16行目で、iの値が40かどうかを判定します。
iが40だった場合、19行目のbreak文が実行されforeach文のループ処理を抜けます。
16行目で、偽と判定された場合22行目に進みます。
つまり、iが40ではないときは、25行目でiの値が出力されます。
そのため、サンプルコードを実行すると、上記のような出力結果が得られます。
foreach文とcontinue文の使い方
continue文とは、ループ処理を次の要素にスキップする処理です。
言葉では分かりにくいので、実際にコードを見ていきましょう!
using System;
namespace Sample
{
class Sample
{
static void Main()
{
//変数srcを宣言し、配列を代入
var src = new [] { 10, 20, 30, 40, 50 };
//変数iに配列srcに要素を順番に代入
foreach (var i in src)
{
//iの値が40のとき
if(i == 40)
{
//ループ処理を次の要素にスキップ
continue;
}
//iの値が40ではないとき
else
{
//変数iを出力
Console.WriteLine("{0}", i);
}
}
}
}
}
上記のコードを実行すると、以下のような出力結果が得られます。
10
20
30
50
16行目で、iの値が40かどうかを判定します。
iが40だった場合、19行目のcontinue文が実行され、13行目に進みます。
16行目で、偽と判定された場合22行目に進みます。
つまり、iが40ではないときは、25行目でiの値が出力されます。
そのため、サンプルコードを実行すると、上記のような出力結果が得られます。
【まとめ】foreach文は使えると便利
foreach文の使い方は理解できましたか?
まとめ
- foreach
- foreach × break
- foreach × continue
この記事では、C#のforeachの使い方について紹介しました。
最後になりますが、私の体験談やみなさんの疑問に対して、できる限り分かりやすく記載したつもりです。ですが、もしここに関してもっと詳しく教えて欲しいときなどは、遠慮なく、お問い合わせ、コメント、Twitterにてご連絡ください。
最後までお読みいただきありがとうございました。