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
Konzepte
Optionale Parameter (Visual Basic)