如果有下面的語句:爲什麼這個內聯錯了?
return this.revision.HasValue ? this.revision : throw new InvalidOperationException();
我認爲是拋出是打破正常流程將編譯,它不應該是沒有返回值的問題,但它並沒有建立。
有沒有辦法把這個陳述正確或爲什麼不允許?
謝謝。
編輯: this.revision是int?該方法返回int。
編輯2:如果我有這個方法
public int Test()
{
throw new Exception();
}
編譯器不會抱怨沒有返回值,我預計從行內同樣的事情,如果......至少我們知道,可以因爲它已經在方法中完成了。
什麼是你的方法的返回類型? – Christos
從msdn:第一個表達式和第二個表達式的類型必須相同,或者從一個類型到另一個類型必須存在隱式轉換。 http://msdn.microsoft.com/en-us/library/ty67wk28(v=vs.110).aspx – Ric
提供您的(視覺工作室)錯誤信息。乍一看,修正!=例外。 – mnemonic