【C#】for 文を使用する方法 | 繰り返し文の使い方を解説

プログラミング言語でも重要なトピックである「繰り返し文」という構文を紹介します。正確には「for文」と呼ばれるものになります。この文法はC#の中でも「分岐(if 文)」と同じくらい重要になるので、しっかりと覚えておく必要があります。

繰り返し文とは

プログラミングにおける「繰り返し文」とはなんでしょうか?繰り返し文は「特定の回数繰り返すループ」のことです。同じような処理を特定の回数だけ繰り返すような場合、処理回数分記述するのは少し面倒だと思います。そんなときに使えるのが繰り返し文になります。

基本的には「特定の条件を満たしている間だけ繰り返す」が正しい表現になりますが、これについてはイメージがわかないと思います。いまはこれで大丈夫です。とにかく「繰り返す」だけは覚えておきましょう。

繰り返し文:for文を書く方法

繰り返し文にはいくつか種類がありますが、ここでは一般的なfor文を解説します。for文はif文と並んで最もポピュラーな文法ですので使いこなせるようになるまで練習してみてください。

1づつ増加するfor文

まずは1つ目のサンプルとして「for文が1づつ繰り上がる」ソースコードから紹介します。一番ベーシックなfor文になります。

for(int i = 1; i <= 10;  i = i + 1)
{
    Console.WriteLine(i.ToString());
}

新規のアプリケーションを作成して上記のサンプルアプリケーションを作成してみましょう。実行してみると1から10が画面に表示されるかと思います。「Console.WriteLine()」を複数行使用して記述することもできますが、こっちのほうがスッキリしています。

for文を書くときは以下の3つを記述する必要があります。

  1. 開始条件
  2. 繰り返し範囲
  3. 増加条件

以下の部分が上記3つを記述している部分になります。

for(int i = 1; i <= 10; i = i + 1)

forの後の括弧内にて「セミコロン(;)」で区切られた、「int i = 1」「i <= 10」「i = i + 1」が左から開始条件、繰り返し範囲、そして増加条件となっています。

一番左に記述されている「int i = 0」は、どの条件からfor文をスタートするかを記述しています。「int i = 1」と書いているので1から始まります。また2つ目の「i <= 10」の部分は、「iが10以下の場合は繰り返しますよ」という意味を示しています。最後の「i = i + 1」の部分はfor文が一周した時のカウントアップの条件を記載しています。

総合すると、この繰り返し文は「iの値が1から始まり、1周するごとに1ずつカウントアップされ、iの値が10以下の間だけ繰り返される」と記述していることになります。したがって、アプリケーションを実行した時は、1から10の数が画面に表示されていたということになります。

なお、この時の「i」はfor文を構成している波括弧( { … } )内のみが有効範囲となります。変数名はなぜか「i」から始まり、複数のfor文が組み合わさる場合(ネストされる場合)は「j」「k」と続きます。

1づつ繰り下がるfor文

2つ目のサンプルは「for文が1づつ繰り下がる」ソースコードです。繰り上がる場合と同様に、こちらも知っておくと便利なfor文の記述方法になります。新しいアプリケーションを作成して以下を書いてみてください。

for(int i = 10; i > 0; i = i - 1)
{
    Console.WriteLine(i.ToString());
}

繰り下がるパターンでは、以下のような部分が繰り返しをコントロールしていると分かりますね。先ほどの繰り上がるパターンと比べると色々な違いがみえると思います。今回も以下のfor文を構成する要素に注目です。

for(int i = 10; i > 0; i = i - 1)

左から「int i = 10」「i > 0」「i = i – 1」と並んでいます。開始条件、継続条件、増加条件でした。上記の式は「int型の変数iを10からスタートさせ、1周回るごとにiはiから1引いた値になり、iが0より大きい間はfor文が回る」という意味になります。

for文の中では、for文の条件となっているiを「Console.WriteLine()」で出力しています。上記のプログラムの結果は10から1を画面に表示する内容となっています。これは1づつ増加する場合と逆になっていますね。

2つのfor文の違いと同じところ

基本的に2つのサンプルは違うところがありません。内容としては同じです。ただfor文の括弧に書く内容によって繰り返しを制御できるということが分かれば十分ですね。

上記のサンプルではiに1や10を代入して開始させましたが、これを0から始めたり、100から始めたりと色々と変えられます。画面から画面からの入力値からスタートさせることも可能になります。for文の繰り返しで使用する変数はいろいろと使いどころがあるのです。