.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. C#
  5. 【C#入門】for文を使ったループ処理のテクニック

【C#入門】for文を使ったループ処理のテクニック

  • C#
  • プログラミング言語
公開日時:   更新日時:
【C#入門】for文を使ったループ処理のテクニック
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    C#のfor文を使用すると、繰り返し(ループ)処理を実現することができます。ループ処理中は繰り返したい動作を含めて、条件を満たす間は実行され続けます。
    この記事では、ループ処理の書き方や停止する方法を解説します。ループ処理はプログラミングの基礎となる部分なので、ぜひ参考にしてみてください。

    プログラマー
    for文を特定の条件で抜けたいのですが、上手く抜けてくれません。アドバイスを頂けないでしょうか?
    プロジェクト
    リーダー
    for文を抜ける方法はいくつかありますね。どれが適切か、ここで学んでいきましょう。

    実行環境
    ・Windows 10 Home
    ・Visual Studio Community 2019

    for文の書き方と構造

    for文はループ処理を実行するための構文となり、構造は以下のとおりです。

    【初期化式】
    ループ前に1回実行される式です。基本的には変数の初期化処理を行います。
    【条件式】
    ループの反復前に毎回とおる式です。条件式の結果が真(true)となる場合に、反復処理が継続されます。
    【反復式】
    ループ内の反復処理が終わるたびに呼ばれる式です。ここで何も変化を持たせないと、条件式を抜けられず、無限ループとなる可能性もあるので注意しましょう。

    for文による変数iの変化はイメージできるでしょうか。
    iは初期値0から1ずつ加算され、iが3未満の間は出力処理が繰り返し実行されています。
    そのため、「i = 2」までしか出力されていませんね。

    for文からのスキップ

    breakでスキップ

    前項ではfor文の条件式によってループ処理を終了しましたが、breakを使用すると、ループを強制的に終了することもできます。

    if文で使用されている「%」は余りを計算する演算子なので、2で割った余りが0(偶数)かそれ以外(奇数)で分岐しています。初期値の0は偶数なのでiが出力されていますが、次の1は奇数なので、breakでfor文を抜けて「end.」が出力されていますね。

    continueでスキップ

    それでは、breakをcontinueに差し替えるとどうなるでしょうか。

    continueの場合は「i = 2」も出力されています。これは、breakが強制的にfor文を抜けるのに対して、continueはfor文を抜けずに次の反復処理を呼び出すためです。

    for文の終了

    gotoで終了

    gotoを使用とすると、プログラムの制御をラベル付きのステートメントに移動することができます。

    for文の条件式はiが3未満の間となっていますが、if文の分岐によりiが1と一致したタイミングでfor文を終了し、Hitラベルの位置に処理が移動しています。そのため、「Hit!」が出力されていますね。

    returnで終了

    returnを使用とすると、メソッドを終了し、呼び出し元に制御が返ります。今回はMain関数から呼び出されるサブメソッドも必要となるため、メソッドの定義も記載しておきます。

    Subメソッド内にreturnが2つありますが、メソッドの最後まで実行された場合、「ret = -1」と出力されるはずです。しかし、「ret = 3」と出力されたということは、for文の途中で抜けていることが分かりますね。

    throwで終了

    throwは、プログラムの実行中に例外が発生したことを通知します。

    Int32.TryParseは数値変換ができない場合、falseを返します。list[2]は“A”で数値変換できないため、throwが呼ばれて、catchでエラーメッセージが表示されています。

    プログラマー
    解説ありがとうございます。問題の解決策が見えてきました。
    プロジェクト
    リーダー
    それは良かったです。いきなりfor文を書くのが難しい時は、一度日本語で処理手順を整理するのもおすすめですよ。

    C#のループ処理は処理手順が大切です

    今回はfor文を使用したループ処理を紹介しました。処理中に問題が発生した場合は、スキップや終了させたいこともあると思います。処理手順を意識してコーディングをしないと、思わぬ不具合を招くこともあるので注意しましょう。
    ぜひ紹介したテクニックを活用して、ループ処理を書いてみてください。

    >>>C#の案件を探すならFEnet .NET Navi

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    C#新着案件New Job