Return ステートメント (Visual Basic)Return Statement (Visual Basic)

FunctionSubGetSet、または Operator プロシージャを呼び出したコードに制御を戻します。Returns control to the code that called a Function, Sub, Get, Set, or Operator procedure.


' -or-  
Return expression  


FunctionGet、または Operator プロシージャで必要です。Required in a Function, Get, or Operator procedure. 呼び出し元のコードに返される値を表す式。Expression that represents the value to be returned to the calling code.


Sub または Set プロシージャでは、Return ステートメントは Exit Sub または Exit Property ステートメントと同じです。expression は指定しないでください。In a Sub or Set procedure, the Return statement is equivalent to an Exit Sub or Exit Property statement, and expression must not be supplied.

FunctionGet、または Operator プロシージャでは、Return ステートメントに expression を含める必要があります。また、expression は、プロシージャの戻り値の型に変換可能なデータ型に評価される必要があります。In a Function, Get, or Operator procedure, the Return statement must include expression, and expression must evaluate to a data type that is convertible to the return type of the procedure. Function または Get プロシージャでは、プロシージャ名に式を代入して戻り値として使用し、Exit Function または Exit Property ステートメントを実行する方法もあります。In a Function or Get procedure, you also have the alternative of assigning an expression to the procedure name to serve as the return value, and then executing an Exit Function or Exit Property statement. Operator プロシージャでは、Return expression を使用する必要があります。In an Operator procedure, you must use Return expression.

Return ステートメントは、必要に応じて同じプロシージャにいくつでも含めることができます。You can include as many Return statements as appropriate in the same procedure.


Finally ブロック内のコードは、Try または Catch ブロック内で Return ステートメントが検出された後、その Return ステートメントが実行される前に実行されます。The code in a Finally block runs after a Return statement in a Try or Catch block is encountered, but before that Return statement executes. Return ステートメントを Finally ブロックに含めることはできません。A Return statement cannot be included in a Finally block.


次の例では、Return ステートメントを複数回使用して、プロシージャが他の操作を行う必要がない場合に、呼び出し元のコードに戻ります。The following example uses the Return statement several times to return to the calling code when the procedure does not have to do anything else.

Public Function GetAgePhrase(ByVal age As Integer) As String
    If age > 60 Then Return "Senior"
    If age > 40 Then Return "Middle-aged"
    If age > 20 Then Return "Adult"
    If age > 12 Then Return "Teen-aged"
    If age > 4 Then Return "School-aged"
    If age > 1 Then Return "Toddler"
    Return "Infant"
End Function

関連項目See also