for (C# リファレンス)
for のループを使用して、false指定した式がになるまでステートメントまたはステートメントのブロックを繰り返し実行できます。この種類のループが配列の反復処理に何時間を反復処理してループにするか、先立ってがわかっている他のアプリケーションに便利です。
使用例
次の例では、i の値がコンソールに出力され、1でループの各反復処理の間にインクリメントされます。
class ForLoopTest
{
static void Main()
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
}
}
/*
Output:
1
2
3
4
5
*/
前の例の for のステートメントは次のアクションを実行します。
最初に、可変 i の初期値はに設定されます。この手順は一度だけに関係なく、数時間をループの繰り返し回数発生します。イベントの外側として初期化するプロセスをループについて考えることができます。
要件 (i <= 5) を評価するには、i の値は5.と比較されます。
i が5以下の場合、条件が trueに評価され、次のアクションが発生します。
ループ本体の Console.WriteLine のステートメントは iの値を表示します。
i の値は1.でインクリメントされます。
ループは、手順2の先頭に条件を再評価するに返されます。
i が5より大きい場合、条件はと評価 falseし、ループを終了します。
i の初期値が5よりも大きい場合は、ループの本体が一度実行されないことに注意してください。
for のステートメントで初期化子、要件、および反復子のセクションを定義します。これらのセクションでは、通常、数時間をループが反復処理するかを判定します。
for (initializer; condition; iterator)
body
セクションには、次の目的に使用されます。
初期化子のセクションでは、最初の条件を設定します。こののステートメントは一度だけループに入る前に、実行をバッチ処理されます。セクションには、次の2種類の選択項目の1つがだけ指定できます。
要件のセクションでは、ループが終了するか、または再度実行する必要があるかどうかの決定を評価するブール式が含まれます。
反復子のセクションが発生して、ループ本体の各反復後に定義します。反復子のセクションでは、次のステートメントの式のゼロ以上を、コンマで区切って含まれています:
ループの本体は、ステートメントで、空のステートメントも、独自に作成する中かっこのゼロ以上のステートメントを囲むことで、ステートメント ブロック構成されます。
for のループの [break] のキーワードを使用して生成したり、次のイテレーションに [continue] のキーワードを使用してステップ インできます。また Goto、返します。、または スローされます。 のステートメントを使用してループを抜けることができます。
このトピックの最初の例は、セクションの次のオプションをする最も一般的な種類の for のループを示します。
初期化子はループの反復カウントを保持するローカル i、ループ変数の宣言と初期化します。
状態チェック既知の最終的な値である5.に対するループ変数の値。
反復子のセクションでは、ループの各反復を集計するには、後置インクリメントのステートメント、i++を使用します。
次の例では、複数のあまり一般的なオプションを示します。: 値を初期化子、および反復子のセクションの両方の Console.WriteLine のメソッド、および反復子のセクションの2種類の変数の値の変更を開始する初期化子のセクションの外部ループ変数に割り当てます。
static void Main()
{
int i;
int j = 10;
for (i = 0, Console.WriteLine("Start: {0}",i); i < j; i++, j--, Console.WriteLine("i={0}, j={1}", i, j))
{
// Body of the loop.
}
}
// Output:
// Start: 0
// i=1, j=9
// i=2, j=8
// i=3, j=7
// i=4, j=6
// i=5, j=5
for のステートメントを定義する式はすべて省略可能です。たとえば、次のステートメントでは、無限ループを作成します。
for (; ; )
{
// ...
}
C# 言語仕様
詳細については、「C# 言語仕様」を参照してください。言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。