制御構文をマスターする (5/5)
作成:2013-07-27 11:13
更新:2013-07-27 11:13
更新:2013-07-27 11:13
■配列の「foreach」
繰り返しにはもう1つ構文があります。それは「foreach」というものです。これは配列のように多数の値をまとめて扱うものの専用構文です。
・配列用のfor文の基本形
このforeachを利用することで、配列内のすべての要素について同じ処理を適用することが可能となります。whileやforでもできますが、しかしこれらでは、すべての要素に処理を適用する手法はプログラマの手に委ねられています。従って、きちんとプログラミングしないと、正しく全要素に処理が行われない可能性もあります。
foreachを使えば、すべての要素に必ず同じ処理が適用されます。配列を扱う場合、こちらを利用するのが最適でしょう。下に簡単な利用例を挙げておきます。ここでは配列arrを作成し、そこにある数字を自乗した値を表示します。
※WriteLineとフォーマット
下のサンプルでは、テキストを出力するところで面白い書き方をしています。以下の部分ですね。
この書き方は、テキストを+でつないでいくよりはるかに書きやすく、また読みやすいので、ここで合わせて覚えておくと良いでしょう。
・配列用のfor文の基本形
foreach( 変数 in 配列など )この構文は、foreachの()内に指定した配列から順に値を取り出し、変数に代入して{}の処理を実行します。これを、配列内のすべての値について行っていきます。
{
……繰り返す処理……
}
このforeachを利用することで、配列内のすべての要素について同じ処理を適用することが可能となります。whileやforでもできますが、しかしこれらでは、すべての要素に処理を適用する手法はプログラマの手に委ねられています。従って、きちんとプログラミングしないと、正しく全要素に処理が行われない可能性もあります。
foreachを使えば、すべての要素に必ず同じ処理が適用されます。配列を扱う場合、こちらを利用するのが最適でしょう。下に簡単な利用例を挙げておきます。ここでは配列arrを作成し、そこにある数字を自乗した値を表示します。
※WriteLineとフォーマット
下のサンプルでは、テキストを出力するところで面白い書き方をしています。以下の部分ですね。
Console.WriteLine("{0}^2 = {1}", n, n * n);WriteLineなどの出力メソッドでは、出力するテキストのフォーマット(整形)機能が用意されています。テキストの中に、{0}, {1}……というように{番号}という記号を埋め込んでおくと、それ以降の引数の値がそこにはめ込まれ整形されて出力されるのです。例えばこの例ならば、{0}の部分にnが、{1}にはn*nがそれぞれ嵌めこまれます。すなわち、{0}にはテキストのすぐ後の値が、{1}にはテキストの2つ後の値が……という具合に、番号に応じて引数の値が嵌めこまれます。
この書き方は、テキストを+でつないでいくよりはるかに書きやすく、また読みやすいので、ここで合わせて覚えておくと良いでしょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
int[] arr = {1,2,3,4,5}; foreach(int n in arr) { Console.WriteLine("{0}^2 = {1}", n, n * n); }
※関連コンテンツ