下面的代碼示例將拋出「不是所有的路徑都返回一個值」爲什麼用包含return語句的方法替換return語句是不可能的?
public static Validation Validate()
{
Validation invalid = new Validation()
InvalidResult(invalid); // why removing the return keyword is not possible??
}
public static Validation InvalidResult(Validation invalid)
{
return invalid; // the return comes from here
}
「驗證」方法必須返回一個驗證對象。它就在簽名中。所以你需要「返回」一些東西。 IIRC,(至少某些版本的)VB會讓你隱式返回最後一個值。 –
您必須返回方法的結果。 '返回InvalidResult(無效);'否則如何知道要返回哪個值。 – Magnus
總之,*不具有返回類型'void'的任何方法必須具有'return'語句。每個代碼路徑必須有一個。這正是C#的工作方式。 –