次のコードを検討してください。
public int DownloadSoundFile()
{
using (var x= new X())
{
return x.Value;
}
}
そしてこのコード:
public int DownloadSoundFile()
{
if (x!=null)
{
return x.Value;
}
}
最初のコードではコンパイル時のエラーは発生しませんが、2 番目のコードでは次のエラーが発生します。
すべてのコード パスが値を返すわけではない
if
これは、スコープ外の値を返す必要があることを意味します。
if
スコープ外の値を返す必要があるのに、スコープ外の値を返す必要がないのはなぜusing
ですか?