【C#入門8】C#プログラミングでforeachを扱ってみましょう!

第8回 C#入門 C#プログラミングでforeachを扱ってみましょう!

今回はforeachについて説明したいと思います。

この動画を最後ま見てくださいましたら

あなたは、エンジニアが苦労するプログラムもサッとコーディングできるようになります。

今回もC#を使ってヴィジュアルスタジオで説明致します。

配列の各要素を順番にアクセスする方法として、

C#には、foreach文というとても便利なものがあります。

foreach文は配列やコレクションのレングスの1要素ずつに対して繰り返し処理を行うことができるものというイメージです。

どういうことかと言いますと、

以前まではfor文を使うために配列のサイズを測ったり、添字として使う一時的な変数を用意したりしていました。

foreach文は、条件式の先頭で宣言しておいた一時的な変数に、要素を1要素ずつを自動的に入れ、中括弧の中の処理を行います。

実際にプログラムを見ていきましょう。

——————————————————————————————————————————

foreach基本式

●●● foreach(型 変数名 in 配列名)

●●● {

●●●

●●● }

——————————————————————————————————————————

試しにこのように書いて見ます。

●●●

●●● int test = new int [ ] { 10 , 20 , 30 , 40 , 50  } ;

●●● int total = 0;

●●● foreach( int p in test )

●●● {

●●●       total = total + p; 

●●● }

●●● int average = (double)total/test.Length;

●●● Console.WriteLine(“合計値:{0}”,total);

●●● Console.WriteLine(“平均値:{0}”,average);

どのような処理になっているかと言いますと。

順番に説明していきます。

このtestという配列から最初に、先頭の要素を一つ取り出し、int型の変数pに入れます。

今回ですとpには10が入ります、その後にこの中括弧内の処理を行います。

ここでは total = total + p; が実行されます。

今トータルは0でpは10が代入されていますので左辺のtotalには10が代入されます。

中括弧内の処理が終わりましたら、pには次の要素が代入されます。

今回ですとpには20が入ります。これを配列の要素がなくなるまで、行います

ですので、ここではトータル150になり

アベレージは30点になるはずです。

それでは実行して見たいと思います。

そうしますとトータルは150、アベレージは30点と出力されました。

foreach文を使用しますと

For文よりもスッキリして見えますね、For文ではLengthプロパティを使ったり、

数を指定しなければなりませんでした、foreach文ではそれさえ不要になっており書き方も簡単になっております。

——————————————————————————————————————————————

そしてforeachが面白いところは配列以外でも使用できることです。

コレクションデータと言って配列と同様に複数の各要素を格納できる型に対してもforeach文が使えます。

今現在はコレクションデータも使えるということを覚えておいてください。

少しだけ触れて見ます。

どのようなものかと言いますと。

●●●

●●● string str = “ watson” ;

●●● foreach (var p in str )

●●●{

●●●         console.WriteLine(p);

●●●}

この場合も文字列strから一文字ずつ取り出し、それをpに入れて

ライトラインで出力します。

これを実行して見ますと

縦にwatsonと表示されました。

これは要素を1つずつ取り出したため縦に表示されています。

はい、今回はforeach文についてということで

foreach文の仕組みから、実際にforeach文を用いて各要素に対して繰り返し処理を行って見ました。

次回の講座ではこれまで後回しにしてきましたクラスとオブジェクトについての内容となっています是非ご覧ください。

  • はい以上で、ワトソン博士のプログラミング講座を終了と致します。ご静聴ありがとうございました。

最近の記事

  • 関連記事
  • おすすめ記事
  • 特集記事

コメント

この記事へのコメントはありません。

CAPTCHA


PAGE TOP