[解決済み] C#で[goto]をまだ使っている人はいますか、もしそうならなぜですか?[クローズド]
2022-03-13 02:13:25
質問
C#で"goto"というキーワード構文をまだ使っている人がいるのか、またその理由は何なのか気になりました。
私は、読者がコードを飛び回るようなステートメントはバッドプラクティスだと考える傾向にありますが、このような構文を使用する信頼できるシナリオがあるのでしょうか?
解決方法は?
稀にですが、gotoによって可読性が向上する場合があります。実際、あなたがリンクしたドキュメントには2つの例が挙げられています。
gotoの一般的な使用法は、switch文の特定のスイッチ・ケース・ラベルやデフォルト・ラベルに制御を移すことです。
goto文は、深くネストされたループから抜け出すのにも有効です。
後者については、こんな例があります。
for (...) {
for (...) {
...
if (something)
goto end_of_loop;
}
}
end_of_loop:
もちろん、この問題を回避するために、コードを関数にリファクタリングする、周囲にダミーブロックを使用する、などの方法もあります(参照) この質問 をご覧ください)。余談ですが、Java言語の設計者が ゴトー を完全に削除し ラベル付きブレーク ステートメントに置き換えます。
関連
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】パラメータ付きRedirectToAction
-
[解決済み】プロセスが実行されているかどうかを知るには?
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015
-
[解決済み] async」と「await」の使い方とタイミング
-
[解決済み] LINQで.Firstと.FirstOrDefaultを使用するタイミングは?
-
[解決済み】なぜFunc<T>ではなくExpression<Func<T>を使うのですか?
-
[解決済み】C#のvarキーワードの使い方
-
[解決済み] なぜGoには "goto "文があるのですか?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】プロセスが実行されているかどうかを知るには?
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。