suffit de positionner la valeur de retour au nom de la fonction est toujours pas exactement les mêmes que Java (ou autre) déclaration return
, car en java, return
quitte la fonction, comme ceci:
public int test(int x) {
if (x == 1) {
return 1; // exits immediately
}
// still here? return 0 as default.
return 0;
}
Dans VB, l'équivalent exact prend deux lignes si vous ne définissez pas la valeur de retour à la fin de votre fonction. Ainsi, en VB le corollaire exact ressemblerait à ceci:
Public Function test(ByVal x As Integer) As Integer
If x = 1 Then
test = 1 ' does not exit immediately. You must manually terminate...
Exit Function ' to exit
End If
' Still here? return 0 as default.
test = 0
' no need for an Exit Function because we're about to exit anyway.
End Function
Puisque tel est le cas, il est aussi agréable de savoir que vous pouvez utiliser la variable de retour comme toute autre variable dans la méthode.Comme ceci:
Public Function test(ByVal x As Integer) As Integer
test = x ' <-- set the return value
If test <> 1 Then ' Test the currently set return value
test = 0 ' Reset the return value to a *new* value
End If
End Function
Ou, l'extrême exemple de la façon dont la variable de retour fonctionne (mais pas nécessairement un bon exemple de la façon dont vous devriez le code réellement) -le qui vous tiendra la nuit:
Public Function test(ByVal x As Integer) As Integer
test = x ' <-- set the return value
If test > 0 Then
' RECURSIVE CALL...WITH THE RETURN VALUE AS AN ARGUMENT,
' AND THE RESULT RESETTING THE RETURN VALUE.
test = test(test - 1)
End If
End Function
Documentation: http://msdn.microsoft.com/fr-fr/library/office/gg264233%28v=office.14%29.aspx –