2013-08-26 50 views
2

在閱讀MCSD學習指南時,我注意到作者說在一個聲明返回類型void的方法中包含return語句是非法的。然而,當我創建了下面的方法,Visual Studio中沒有標記在編輯器中,也沒有無法編譯:你可以使用聲明爲void的C#方法中的「return」語句嗎?

private void ReturnNothing() 
{ 
    return; 
} 

什麼是真正的答案呢?這合法嗎?

+0

可能重複[在壞方法中使用return是不好的做法?](http://stackoverflow.com/questions/1283325/is-it-bad-practice-to-use-return-inside-a -void-method) –

+0

請參閱http://stackoverflow.com/questions/1283325/is-it-bad-practice-to-use-return-inside-a-void-method獲取答案,以及與之相對的原因。 –

+0

不要以爲它是前兩個問題的完全重複。一點也不。 –

回答

10

是的,這絕對是合法的。

如果您在返回後嘗試設置一個值,這只是非法的。這是錯誤的return 0;

0

筆者很可能指的是形式

return value ; 

當返回類型== void這實際上是無效的(但有效並在需要時返回類型!= void)。

+2

這不是必需的。 –

+0

其實,作者在我提到的那個之後提到了你的場景。 – gonzobrains

+1

@gonzobrains然後,他在第一個是完全錯誤的。 –

相關問題