考慮以下代碼:爲什麼我們不需要在「使用」範圍之外返回一個值?
public int DownloadSoundFile()
{
using (var x= new X())
{
return x.Value;
}
}
和驗證碼:
public int DownloadSoundFile()
{
if (x!=null)
{
return x.Value;
}
}
第一個代碼不給我們任何編譯時錯誤,但在第二個代碼中,我們得到這個錯誤:
not all code paths return a value
這意味着我們應該返回if
範圍以外的值。
爲什麼我們必須返回if
作用域之外的值,但不需要返回using
作用域之外的值?
在這種情況下,使用(...){return ...; }'和'{return ...; }'。 – Leri