おっしゃる通りの意味です。14:29質問通りならそもそも後処理を書かなければ済む話です。なく何かしらの条件があるならば、後処理についての説明を質問文に追記してください。System.IO.File.Exists("test.txt");}呼び出し元のコード量が増えてしまうので出来ればメソッド中で終了したいと考えています。そもそもbutton1_Click()とテスト()の両メソッドで"test.txt"を扱っています。各メソッドの役割が適切に分離できていないためにそもそも記述量が増えてしまっています。その他にもC#言語には記述量を減らせる機能がいくつも用意されています。if文だけを減らす努力をしても仕方がありません。sr.ReadToEnd();sr.Close();はvarキーワードを使用することで型名を明示する必要はなくなります。sr.ReadToEnd();sr.Close();とできます。System.IO;ディレクティブで名前空間の記述も省略できます。sr.ReadToEnd();sr.Close();usingステートメントで後処理を確実に行えます。sr.ReadToEnd();}そもそもFile.ReadAllText()メソッドで簡単に読み出せます。System.IO.File;ディレクティブで更にクラス名も省略できます。ReadAllText("test.txt");さてテスト()メソッドはファイルの有無の判定結果を返すのではなく、ファイルコンテンツを返す方法もあります。null;}以上はあくまで一例ですが、このようにメソッドの役割分担を再検討されることをお勧めします。個の銅バッジご回答ありがとうございます。呼び出し元のコード量が増えてしまうので出来ればメソッド中で終了したいと考えています。さん、コメントには書ききれないため回答に加筆しました。アプリケーションを終了(Runメソッドによるメッセージループを抜ける)できます。言われるように値を返すようにしてその値で分岐するか例外を投げる(結局同じことなので単に値を返す方がいい(try{}catch{}を書くのが余分)かも)しかないと思います。