использование возврата - PullRequest
2 голосов
/ 17 апреля 2011

Я видел код, в котором используется return, как показано ниже

If myFunction() Then Return

Private Function myFunction() As Boolean
   Try //something
      return true
   Catch
      return false
   End Try
End Function

Я не совсем понял логику с "If myFunction () Then return". Любое объяснение будет высоко ценится.

Ответы [ 3 ]

3 голосов
/ 17 апреля 2011

Return означает выход из функции, которая не возвращает значения.Это эквивалентно Exit Sub в VB6 (если вы знакомы с языком).

Например, если у меня есть следующий код:

Sub Foo()
    If True Then Return
    MessageBox.Show("Hello World");
End Sub

Окно сообщения никогда не будет отображаться, потому чтоReturn выходит из функции.

Для вашего случая заменим If True Then Return на If myFunction() Then Return:

Sub Foo()
    If myFunction() Then Return
    MessageBox.Show("Hello World");
End Sub

Function myFunction As Boolean
    Try 'something
        Return True
    Catch
        Return False
    End Try
End Function

Если myFunction вернет true, окно сообщения не будет отображаться.Если произойдет сбой myFunction, появится окно сообщения.

2 голосов
/ 17 апреля 2011

Оператор If работает следующим образом

If 'condition' Then 'do something'

«условие» может быть истинным или ложным. Если это правда, «сделай что-нибудь» будет выполнено. myFunction () возвращает такое значение true / false (называемое логическим), поэтому вы можете записать его в месте «условия».

1 голос
/ 17 апреля 2011

Если myFunction вернет true, то вернется. Если myFunction вернет false, то он продолжится.

В вашем примере я предполагаю, что оператор If находится вне контекста (и фактически является частью какой-либо другой функции или подпрограммы).

...