Web Analytics Made Easy - StatCounter

Economics Of TEC

経済学,IT,英語学習などに関する情報を発信しています。

【C#入門】繰り返し処理の書き方-for文,while文,foreach文-

f:id:WillSpecter:20200811195608j:plain

 

今回は、「繰り返し処理の書き方-for文,while文,foreach文-」を紹介させていただきます。

繰り返し処理はどのプログラミング言語でも重要な考え方になりますので、是非マスターしてください(^^)

繰り返し処理とは

名前の通り、同じ処理を複数回行いたい場合に繰り返し処理を利用します。

C#では、for文やwhile文,foreach文があります。 

for文の書き方

早速、for文の書き方を見ていきましょう。

            for (初期化処理 = 0;  条件式; 条件の変更)
            {
                処理
            }

①for の右()に値の初期化、条件式、条件の変更を書きます。

②{}内に繰り返し行いたい処理を書きます。

 

下記コードは0から9の値を出力する例です。

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

①「int i = 0」は変数iを0に初期化しています。

②「i<10」はiが10より小さい間処理を続けます。

③「i++」で処理毎にiを加算します。(インクリメント)

このように、for文ではインデックス番号であるiを用いてループの処理を作ります。

while文の書き方

続いてwhile文についてです。
条件が真の場合にのみ、繰り返し処理を行います。for文のように繰り返し回数が明らかではない場合にも使うことができます。(例えば、行数が定かではないテキストファイルの文字を一行ずつ最後まで読み取る等)
            while (式)
            {
                処理
            }

ループの継続判定でfalseになった場合は、whileのループから抜けます。

下記コードは0から9の値を出力する例です。aが10より小さい間にaの値を表示する、という処理です。

             int a = 0;
            while (a<10)
            {
                Console.WriteLine(a);
                a++;                
            }

foreach文の書き方

続いてforeach文についてです。

データの集合に対して1つずつ取り出して処理を行います。繰り返し処理の大半が上記処理のため、C#ではforeachを用意しています。

 
foreachはfor文よりシンプルになっているため、バグの可能性が低下させるメリットがあります。
            foreach (型名 オブジェクト名 in コレクション)
            {
                処理
            } 

データ型はコレクションの中に含まれている型、またはvarを記述します。オブジェクト名には、ループ処理のときのみ使用する変数名を記述します。

 

コレクションはListや配列など、ループさせるコレクションを記述します。

 

コレクションの使い方については、こちらの記事にまとめていますので、ご参考ください。

it-rpa.hatenablog.com

 

下記コードは配列の値を取得するサンプルです。実行すると、3,4,5と順番に表示されます。

            int[] collection = new int[] {3,4,5};

            foreach (var item in collection)
            {
                Console.WriteLine(item);
            }

breakで処理を抜ける方法

繰り返し処理において、一部の条件下でループを中断して抜けたいことがあります。

そんな時に使えるのがbreakです。

下記コードでは、aが5だったらループを抜けるという例です。for文やforeach文でも使えます。

            int a = 0;
            while (a<10)
            {
                Console.WriteLine(a);
                a++;

                if (a == 5) //aが5であればループから抜ける
                {
                    break;
                }
            }

continueで処理をスキップする方法

continue文はループ処理の途中で、残りの処理をスキップして次のループ処理に移る場合に使います。

以下のコードは、aが5より小さい場合は残りの処理をスキップしてwhile文に戻ります。

5以上の場合は、合格点と表示されます。

            int a = 0;
            while (a<10)
            {
                a++;

                if (a < 5) //aが5より小さければ残りの処理をスキップ
                {
                    continue;
                }

                Console.WriteLine(a + "は合格点です");
            }

実行結果

f:id:WillSpecter:20201229145605p:plain

ひとこと

いかがでしたでしょうか。繰り返し処理は基本となる考えですので、是非マスターしてください^^

因みに、Visual Studioではコードを書いた後にtabキーを2回押すと、コードが挿入されます。(コードスニペットと呼ばれているようです)

例えば、foreachと書いた後に、tabキーを2回押すと下記のように定型文が表示されるので、とても便利です。

            foreach (var item in collection)
            {

            }

 

今回の説明は「確かな力が身につくC# 「超」入門」を参考にさせていただきましたが、「もっと前から読んでおきたかった!」と痛感しています、、。

 

もし、C#について学び始めたという方は是非参考にしてみてください!(2020年7月に出版された新書です(^^)

他にも、C#関連の記事を書いていますので是非参考にしてください!

◆合わせて読みたい◆