今回は、繰り返し文の「foreach ~ in」について紹介していきます。
foreachは配列やListなどのループをする際に、for文より少し簡単に記載することができます。
それでは早速見ていきましょう。
foreach文 書き方
foreachの書き方を記載していきます。
foreach(型 子要素 in 配列やListなどの型など親要素)
{
処理;
}
このように記載することで、配列の件数分ループすることになります。
例を見ていきます。
List型をforeachでループさせてみましょう。
List<string> list_str = new List<string>();
list_str.Add("a");
list_str.Add("b");
list_str.Add("c");
foreach(string str in list_str)
{
Console.WriteLine(str);
}
結果
a
b
c
解説
1行目~4行目:List型の変数を作成。中身はa,b,c
6行目~9行目:「list_str」を全件ループしている。 「str」にリストの値が格納されている。
結果を見ると、リストに設定した内容がすべて表示されていますね。
ちなみにfor文で記載するとこうなります。
for(int i = 0; i < list_str.Count; i++)
{
Console.WriteLine(list_str[i]);
}
結果は同じなので、自分がわかりやすい方や状況に応じてfor文やforeach文を使っていきましょう。
また、foreach文もcontinueやbreak処理をすることができます。
for文の時にcontineとbreakについて紹介しているので参考にしてみてください。
continue 次のループへ
continueは、次のループへ進ませることができます。
サンプルだけ紹介しておきます。
List<string> list_str = new List<string>() { "a","b","c"};
foreach(string str in list_str)
{
if (str == "b")
{
continue;
}
Console.WriteLine(str);
}
結果
a
c
break ループ強制終了
breakは、ループを強制終了させることができます。
List<string> list_str = new List<string>() { "a","b","c"};
foreach(string str in list_str)
{
if (str == "b")
{
break;
}
Console.WriteLine(str);
}
結果
a
まとめ
今回はforeach文を紹介してきました。
foreach文を利用することで、配列やListを全件ループすることができます。
for文でももちろん同じようにループさせることができるので、自分がわかりやすい方を利用してみてください。