.net column

.NET開発者のためのブログメディア
コード

C#でループ処理から抜け出す際に使うgoto文を解説

2020年03月24日

アプリケーション開発を行う現場では、プログラミング言語に関わらずループ処理はよく使用されます。データ件数が多い場合、ループ処理を途中で抜けてパフォーマンスを上げることは多くの現場で求められます。
ここでは、C#で開発する場合のループ処理を途中で抜けるgoto文を解説していきます。

PG
ループ処理って無駄に回し続けると、本当にプログラムのパフォーマンスが悪くなりますよね。C#で開発しているので、goto文を活用して、ループ処理の改善に努めていきたいと思います。
PL
良い心がけですね。無駄にループ処理を行い続けると、処理時間がかかってしまい、ユーザーの信頼も低下してしまう恐れがあります。ここで改めてgoto文の活用方法などをまとめてみますので一緒に確認していきましょう。

goto文の基本構文と注意点

goto文はC#に限らず他の言語でも登場しますが、C#のgoto文の基本構文は以下となります。goto文にはジャンプ先であるラベルが必要です。ここでのラベルは「LOOPEND:」が該当します。

「LOOPEND:」にジャンプした後の処理を記述します。

goto文は確かに便利な命令です。しかし、goto文を多用しすぎるのは、良いプログラムとは言えません。本来、上から下にプログラムのロジックが組まれている方が、あとから改修や保守を担当する開発者にも見やすいプログラムです。goto文はロジックを飛ばすことも可能にしますので、二重ループ処理を抜けたい場合など、限定的な使い方をする方が良いでしょう。

goto文を使用したサンプルプログラム

実行結果
実行結果

PG
これからgoto文を活用して、無駄なループ処理を省くようにしていきます。
PL
goto文は現場によっては利用不可としているところもあり、注意が必要です。二重ループ処理を抜けるなど、限定して利用するには良いですが、濫用し過ぎると俗に言う「スパゲティプログラム」になってしまいます。

ループ処理は極力無駄を省くようにしましょう

プログラミング開発を行う上で、ループ処理は避けては通れない処理です。データ件数が数件の場合は、そこまでパフォーマンスに影響を及ぼさないでしょうが、大量データが投入された場合、ループ処理が回り続けるとパフォーマンスが低下します。無駄な処理を省くためにも、goto文を活用してパフォーマンス向上に努められるプログラマーになりましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)