C#

【C#】繰り返し処理(for, while, foreach)とは?使い方を徹底解説

こんにちは、リバティエンジニア[?]のFUNAです。 現役エンジニアとしてアプリケーション開発やWeb制作、SEOやブログ運営をしています。

今回はc#で繰り返し処理について一緒にみていきましょう。

さまざまな処理をするプログラミングで頻繁に使う繰り返し処理ですが、実はループの回し方がいくつかありますので、順番に解説しようと思います。

繰り返し処理とは?

まずは繰り返し処理とはなんなのか。

このページに来ているということは、もう既に繰り返し処理については知っている方が多いと思いますが簡単に解説します。

プログラムを組んでいくと同じ処理を複数回行いたい場面が出てきます。
その時に、似たような処理を何度も書くと言うのは実に煩雑で無駄が多くなります。

https://itthestudy.com/c-%e6%9d%a1%e4%bb%b6%e3%81%ab%e3%82%88%e3%81%a3%e3%81%a6%e5%87%a6%e7%90%86%e3%82%92%e5%a4%89%e3%81%88%e3%81%a6%e3%81%bf%e3%82%8bif-else/

そこで、同じような処理はひとつにまとめてその処理を何度もループさせて実行する。事が繰り返し処理になります。

繰り返し処理の種類

実は繰り返し処理でも、ループの回し方によっていくつか方法があります。

  • 回数を指定してループする
  • リストや配列などの要素分だけループする
  • ある条件を満たしている間ループする

以上の3つがあります。

この3つを順番に見ていきましょう。

"for" 回数を指定してループする方法

回数を指定してループを回す時には、「for」文というものを使います。

まずはサンプルコードを見てください。

for (/* 初期化式 */; /* 条件式 */; /* 後始末の式 */)
{
    /* 条件式が成立している間は実行される処理 */
}

基本的にはこんな形で構成されます。

for文は、ループを開始する前に実行される「初期化式」というものと,繰り返しの条件を指定する「条件式」、そして繰り返し部分の最後に実行され、その次の繰り返しをするための準備をする「後始末の式」で構成されるものを、まとめて指示する文です。

"foreach" リストや配列などの要素分だけループする

Listや配列などいくつかの値が格納された変数をその中身の要素の数だけループする方法があります。

// 複数の値が格納されているList
List<int> list = new List<int> { 1, 2, 3, 4, 5 };
foreach (var item in list)
{
    // 処理
    // itemにはlistの中の値が順番に格納される
}

書き方としてはこのようになります。

便利なのが、"for"文と違い数のカウントをしなくて良いところですね。

foreachの引数"item in list"の部分で"item"という変数に"list"の要素がループするたびに順番に格納されます。

上記の例だと、ループの1周目は"list"変数の最初の値である'1'が入っており、ループ回数を重ねるごとに"list"変数内の要素を順番に取り出します。

"while" ある条件を満たしている間ループする

最後に"while"文についてみていきます。

このループ処理の仕方はシンプルで、while関数の引数に条件を記述してその条件が"true"の時、つまり条件を満たしている間はループを続ける。というものになります。

while (/* 条件式 */)
{
    /* 条件式が成立している間実行される処理 */
}

こうなります。

この「条件式」の部分は例えば

  • while(true)とすれば、永遠にループは回り続けます(trueをしてすると条件は常にtrueのため)
  • while(count<5)とすれば、変数"count"が5よりも小さい間はループが回り続けます

このように数値であってもboolであっても条件にすることは可能で、その条件がtrue(成立している)間はループが回ります。

ループの途中だけどループから抜けたいとき

先ほど紹介したループの方法ですが、ループをしている途中にそのループを抜けたい場面が訪れます。

そんな時は"break"を使ってください。

"break"とは?

この"break"とは、ループの途中で宣言することでそのループをすぐに抜け出すことができます。

例文を紹介します。

// whileで無限ループする
while (true)
{
    if (count == 8)
    {
        // ループを抜ける
        break;
    }
}

このように無限ループ中にif文などで、「条件次第ではループを抜ける」という処理を入れることができます。

※ "if"文についてはこの記事を参考にしてみてください。

[C#] 条件によって処理を変えてみる(if, else)

これができると、例えば何かの「処理中にユーザーが「キャンセル」した場合には中断する。」というような実装ができます。

まとめ

今回はC#でループ処理をする方法や、そのやり方をご紹介しました。

この記事で覚えてほしいのは、

  • そもそも繰り返し処理(ループ)とは?
  • ループ処理をする種類と方法
  • ループの抜け出し方

この3つはおぼえておいてください!

今回記事の中に出てきた" List "や" if "について知りたい方は、下の記事を参考にしてみてください。

[C#] Listに要素を追加/挿入するには?

https://itthestudy.com/c-%e6%9d%a1%e4%bb%b6%e3%81%ab%e3%82%88%e3%81%a3%e3%81%a6%e5%87%a6%e7%90%86%e3%82%92%e5%a4%89%e3%81%88%e3%81%a6%e3%81%bf%e3%82%8bif-else/


 

Kindle Unlimitedで無料で本が読める

 

Kindle Unlimitedを無料で試す

 

なら最初の30日間は無料でコーディング・デザイン・ブログ・英語・Youtubeの参考書・キャリア・副業・マーケティング・漫画・美容知識・雑誌などが読み放題です。

人気の本もあるので是非お試ししてみてください!30日以内に解約すればお金は全くかかりません。

 


最近の投稿

【今すぐ行動しよう】フリーランスエンジニアとブログの相性は抜群!

フリーランスエンジニアがスキルや経験から得たビジネスノウハウを共有する手段として「ブログ」は非常におすすめです。自身のスキルや知識のアウトプットや、実際に自分が経験したことを共有して同じような境遇の人の手助けになるような情報を公開することで自分に帰ってくるメリットは非常に多いです。今回はそのあたりについて紹介していきます。

【経験談】フリーランスのエンジニアは本当に大変なの?安定のコツやポイント

フリーランスのエンジニアは「大変だからやめとけ」という話をよく聞くので、そのことについて現役でフリーランスエンジニアとして生活している私が、その話の実態を解説しようと思います。フリーランスエンジニアの大変なところはもちろんありますが、それ以上にメリットが多いので私個人的には非常におすすめしています。

【幸福度UP】フリーランスエンジニアの「田舎暮らし」実現できます

フリーランスエンジニアとして田舎で暮らす人が増えてるって聞くけど、本当なのかな?どうやったら実現できるのか?今回はフリーランスエンジニアとして田舎で生活をしたいという方向けに、実現可能なのか、実現するにはどうすれば良いのかをご紹介します。

【単価交渉で収入アップ】フリーランスが単価交渉を成功させる4つのポイント

フリーランスが収入をアップさせるための重要な手段のひとつに「単価交渉」があります。今回は、現役でフリーランスとしてエンジニアをしている私が実践して効果のあった単価交渉の方法やコツをご紹介します。

【 今なら無料!】タスク管理ツール「Backlog」を無料で使う方法と手順

今回は、普段のタスク管理からプロジェクトの管理まで幅広く使えるツール「Backlog」を無料で使うための方法とその手段を画像つきで紹介しました。もし気に入らなければ、期間内に解約してしまえば費用はかかりません。また、以外と知られていない「フリープラン」も紹介しているので、是非参考にしてみてください。

Copyright© FUNA BLOG , 2021 All Rights Reserved.