或阿呆のブログ

巷では、武器商人@ダーツで通っていました。Python好き好きプログラマーです。芥川龍之介、太宰治が好きです。

foreachの薦め

スポンサードリンク

Cやっていた人なら、配列の添字がオーバーしてアクセス違反なんてのを経験したことがあるでしょう。max値とか定義して、0からmax-1まで、インクリメントしながらループさせるということをプログラマがやるわけ。おかげで、プログラマはこの手の細かくて几帳面な作業が得意だと思われがち。実際のところ、単体試験でmax値チェックとかするんで、意外とここで検出すりゃいいかと、適当に書くんだけどね。まぁ、慣れれば、この手のミスは見ればすぐわかるくらい、匂いがわかるようになってくるけど。

だけど、いちいちそんなことをするのは、面倒くさい。リストとか配列の数を自動的に数えてくれて、全要素にアクセス出来たらそれが一番だよね?パワフルな言語ではforeachを使えばそれが可能。

C#では、こんな感じで書く。

            string str = "0123456789ABCDEF";
            char[] values = str.ToCharArray();

            foreach (char i in values)
            {
                System.Console.Write(i);
            }

結果はこう

0123456789ABCDEF

間に改行か空白入れればよかったかな・・・。動き的には、1文字1文字出力されるよ。