「Exit Sub」または「Return」はどちらも同じことを達成しているようです。サブルーチンを終了します。カバーの下での動作に違いはありますか?
あれは、
Private Sub exitNow()
Exit Sub
End Sub
または
Private Sub exitNow()
Return
End Sub
ドキュメントから:
SubまたはSetプロシージャでは、ReturnステートメントはExit SubまたはExit Propertyステートメントと同等であり、expressionを指定することはできません。
そのため、このコンテキストでも同じです。
私はExit Sub
よりReturn
を好む傾向があります。時々Sub
からFunction
に変更するからです。この場合、Exit Sub
はExit Function
に変換できますが、これは関数名への以前の割り当て(VB 6)など)があることを前提としています。 Return
はこの状況をキャッチします-メソッドが値を返す必要がある場合、引数なしのReturn
はコンパイル時に失敗します。
2つのステートメントのIL出力を検査する場合、それらは同じです。ただし、「return」は発信者に何かをプッシュするためのものであるため、厳密に言えば、「Exit Sub」はSubでの使用に適しています。
このコンテキストでは同じです。
ただし、コードの可読性の観点からは、「Return」は何らかの値が出力として使用されていることを示しているため、「Exit Sub」はより明確になります(サブルーチンの場合はそうではありません)。
CalcFact(X)
の階乗を計算します。特定のタスクに対していくつかのプロセスを実行します。
関数は、特定のパラメーターを渡すことによって特定のタスクを達成するようにプログラムされた特定のプロセスであり、ユーザー名やユーザーパスの検証など、タスク全体を完了するために使用できる値を返す必要があります。
要するにSubは値を返さず、直接"Print HelloWorld()"
と呼びますが、関数は次のようなことを行います:
ValidUsersNameAndPass("Johne","jOhNe13042019")
'これはブール値を返す可能性があります。ValidUsersNameAndPass("Johne","jOhNe13042019");
//これはブール値を返す可能性があります。