Optional (Visual Basic)

Gibt an, dass ein Prozedurargument beim Aufruf der Prozedur ausgelassen werden kann.

Hinweise

Für jeden optionalen Parameter müssen Sie einen konstanten Ausdruck als Standardwert dieses Parameters angeben. Wenn der Ausdruck Nichts ergibt, wird der Standardwert des Werts datentyps als Standardwert des Parameters verwendet.

Wenn die Parameterliste einen optionalen Parameter enthält, muss jeder Parameter, der ihr folgt ebenfalls optional sein.

Der Optional-Modifizierer kann in folgenden Kontexten verwendet werden:

Hinweis

Wenn Sie eine Prozedur mit oder ohne optionale Parameter aufrufen, können Sie Argumente durch Position oder Namen übergeben.Weitere Informationen finden Sie unter Übergeben von Argumenten nach Position und Name (Visual Basic).

Hinweis

Sie können eine Prozedur mit optionalen Parametern definieren, indem Sie die Überladung verwenden.Wenn ein optionaler Parameter vorhanden ist, können Sie zwei überladene Versionen der Prozedur, der bzw. die den Parameter, und akzeptiert der definieren, die nicht vorhanden ist.Weitere Informationen finden Sie unter Prozedurüberladung (Visual Basic).

Beispiel

Im folgenden Beispiel wird eine Prozedur mit einem optionalen Parameter verfügt.

Public Function FindMatches(ByRef values As List(Of String),
                            ByVal searchString As String,
                            Optional ByVal matchCase As Boolean = False) As List(Of String)

    Dim results As IEnumerable(Of String)

    If matchCase Then
        results = From v In values
                  Where v.Contains(searchString)
    Else
        results = From v In values
                  Where UCase(v).Contains(UCase(searchString))
    End If

    Return results.ToList()
End Function

Im folgenden Beispiel wird veranschaulicht, wie eine Prozedur mit Argumenten aufruft, die durch Position übergeben werden und mit den Argumenten, die über den Namen übergeben werden. Die Prozedur verfügt über zwei optionale Parameter.

Private Sub TestParameters()
    ' Call the procedure with its arguments passed by position,
    studentInfo("Mary", 19, #9/21/1981#)

    ' Omit one optional argument by holding its place with a comma.
    studentInfo("Mary", , #9/21/1981#)

    ' Call the procedure with its arguments passed by name.
    studentInfo(age:=19, birth:=#9/21/1981#, name:="Mary")

    ' Supply an argument by position and an argument by name.
    studentInfo("Mary", birth:=#9/21/1981#)
End Sub 

Private Sub studentInfo(ByVal name As String,
   Optional ByVal age As Short = 0,
   Optional ByVal birth As Date = #1/1/2000#)

    Console.WriteLine("name: " & name)
    Console.WriteLine("age: " & age)
    Console.WriteLine("birth date: " & birth)
    Console.WriteLine()
End Sub

Siehe auch

Referenz

Parameterliste (Visual Basic)

Konzepte

Optionale Parameter (Visual Basic)

Weitere Ressourcen

Schlüsselwörter (Visual Basic)