すべて -- 古いコードのリファクタリングを行っており、GoTo ステートメントの使用を減らす (または完全に排除しない) 方法を検討しています。次のようなコードのセクションがあります。
public void GetData()
{
  TryAgain:
      Foo foo = bar.GetData();
      if(foo == null)
      {
          bar.addItem("Test");
          goto TryAgain;
      }
      //Use the bar object
}
それを次のように置き換えます。
public void GetData()
{
      Foo foo = bar.GetData();
      if(foo == null)
      {
          bar.addItem("Test");
          GetData();
          return;
      }
      //Use the bar object
}
これを処理するための考えやより良い方法はありますか?
アップデート
まず第一に、これは私の実際のコードではありません。簡潔にするためにこのスニペットを作成しました。次に、値が bar に追加されると、IF ステートメントがバイパスされ、コード セクションが続行され、bar オブジェクトが使用されると仮定してください。最初にバー オブジェクトが null でないことを確認し、そうでない場合はメソッド内の残りのコードを実行するメソッドを 1 つだけ作成したいと考えています。混乱させて申し訳ありません。