Return ステートメント (Visual Basic)
Function、Sub、Get、Set、または Operator の各プロシージャを呼び出したコードに制御を戻します。
Return
-or-
Return expression
指定項目
- expression
Function、Get、または Operator の各プロシージャでは、必ず指定します。 呼び出し元のコードに返す値を表す式を指定します。
解説
Sub プロシージャまたは Set プロシージャでは、Exit Sub ステートメントまたは Exit Property ステートメントが Return ステートメントに相当します。expression を指定することはできません。
Function、Get、または Operator の各プロシージャでは、Return ステートメント内に expression を指定する必要があり、expression はプロシージャの戻り値の型に変換できるデータ型に評価される必要があります。 Function プロシージャまたは Get プロシージャでは、式を割り当てる代わりにプロシージャ名を戻り値として使うこともできます。その場合、Exit Function ステートメントまたは Exit Property ステートメントを実行します。 Operator プロシージャでは、Return expression を使用する必要があります。
適切な数の Return ステートメントを同じプロシージャ内に指定できます。
注意
Finally ブロックのコードは、Try または Catch ブロックの Return ステートメントが見つかった後、その Return ステートメントが実行される前に実行されます。 この場合、Finally ブロックの Return ステートメントは Try または Catch ブロックの Return ステートメントよりも先に実行されます。 この場合、戻り値が異なります。 このような混乱を防ぐため、Return ステートメントを Finally ブロックで使用することは避けてください。
使用例
次のコード例では、Return ステートメントを何回も使って、プロシージャで何も行う必要がなくなった時点で呼び出し元のコードに制御を戻しています。
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