此聲明不適用於C#。使用C#你必須明確地設置一個「return」來有一個有效的函數,沒有返回,你會得到一個編譯錯誤,並不是所有的代碼路徑都返回一個值。
隨着VB.NET這將適用,因爲VB.NET沒有明確的返回的要求,並允許你有函數,永遠不會返回一個值,以及允許您設置返回使用的名稱功能。
爲了提供一個例子
在VB.NET,你可以做到這一點
Function myFunction() As String
myFunction = "MyValue"
End Function
Function myFunction2() As String
'Your code here
End Function
以上編譯,也沒有用明確的「收益」,有參與這個更多的開銷。
如果你嘗試用C#
string myFunction()
{
//Error due to "Cannot assign to 'myFunction' because it is a 'Method Group'
myFunction = "test";
}
string myFunction2()
{
//Error due to "not all code paths return a value
}
要做到這一點我的評論指出,你得到的錯誤。
的確看起來很腥,但我會讓JIT大師的體重加入! – mjv 2010-03-05 15:38:54
還有更多可疑的陳述。 「使用'ArrayLists'代替數組」,「使用ValueTypes設計」。我的意思是,ArrayLists?這對拳擊很棒。並且知道何時使用結構而不是類是許多事情,即使不是大多數人混淆 - 包括我在內。奇怪的「小費」。 – Razzie 2010-03-05 15:47:50
沿着@ Razzie的評論,我會採取一個鹽的糧食,它沒有考慮甚至在.NET 2.0天添加的項目... – 2010-03-05 15:53:30