C# foreach ループ
C# foreach ループ
この記事では、foreach ループ (for ループの代替) と、それらを配列やコレクションで使用する方法について学習します。
C# は、for ループに代わる使いやすく読みやすい代替手段を提供します。これは、配列とコレクションを操作して配列/コレクションの項目を反復処理する場合の foreach ループです。 foreach ループは各項目を反復処理するため、foreach ループと呼ばれます。
foreach ループを進める前に、以下にアクセスしてください。
- C# for ループ
- C# 配列
- C# コレクション
foreach ループの構文
foreach (element in iterable-item) { // body of foreach loop }
ここで iterable-item は、配列またはコレクションのクラスにすることができます。
foreach ループのしくみ
<図>
in
foreach ループと共に使用されるキーワードは、iterable-item を反復処理するために使用されます . in キーワードは iterable-item から項目を選択します 反復ごとに変数 element に格納します .
最初の反復で、iterable-item の最初のアイテム 要素に格納されます。 2 回目の反復では、2 番目の要素が選択され、以降も同様です。
foreach ループが実行される回数は、配列またはコレクション内の要素の数と同じです。
for ループを使用して配列を反復処理する例を次に示します。
例 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]);
}
}
}
}
foreach ループを使用して同じタスクを実行できます。
例 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);
}
}
}
}
both プログラムを実行すると、出力は次のようになります。
H e l l o
上記のプログラムでは、foreach ループが配列 myArray を反復処理します。 .最初の反復で、最初の要素、つまり myArray[0] が選択され、ch に保存されます .
同様に、最後の反復では、最後の要素、つまり myArray[4] が選択されます。ループ本体内、ch の値
両方のプログラムを見ると、foreach ループを使用するプログラムの方が読みやすく、理解しやすいです。これは、シンプルで表現力豊かな構文によるものです。
したがって、配列とコレクションを操作する場合は、for ループよりも foreach ループが優先されます。
例 3:foreach ループを使用して性別の配列をトラバースする
このプログラムは、男性と女性の候補者の数を計算します。
using System;
namespace Loop
{
class ForEachLoop
{
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 の要素の合計を計算します .
using System;
using System.Collections.Generic;
namespace Loop {
class ForEachLoop {
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 ループを使用してコレクションをトラバースします。コレクションのトラバースは、配列のトラバースに似ています。
コレクションの最初の要素は最初の反復で選択され、2 番目の要素は 2 番目の反復で選択され、最後の要素まで続きます。
C言語