Udostępnij za pośrednictwem


Opcjonalne (Visual Basic)

Określa, że podczas wywołania procedury można pominąć argument procedury.

Uwagi

Dla każdego parametru należy określić wyrażenie stałe jako wartość domyślną tego parametru.Jeśli wyrażenie ma nic nie, wartość domyślnego typu danych wartość jest używana jako domyślna wartość parametru.

Jeśli lista parametrów zawiera parametr opcjonalny, co parametr, który następuje musi być opcjonalne.

Optional Modyfikator mogą być używane w tych kontekstach:

[!UWAGA]

Podczas wywoływania procedury, z lub bez parametrów opcjonalnych, można przekazywać argumenty, położenie lub nazwę.Aby uzyskać więcej informacji, zobacz Przekazywanie argumentów, położenie i nazwę (Visual Basic).

[!UWAGA]

Można także zdefiniować procedurę z opcjonalnych parametrów przy użyciu przeciążenie.Jeśli masz jeden parametr opcjonalny, można zdefiniować dwie wersje przeciążone procedury, który akceptuje parametr i jedną, która nie.Aby uzyskać więcej informacji, zobacz Procedura przeciążenie (Visual Basic).

Przykład

Poniższy przykład definiuje procedurę, która ma parametr opcjonalny.

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

Poniższy przykład ilustruje sposób wywołać procedurę z argumentów przekazanych przez położenie i argumentów przekazanych przez nazwę.Procedura ma dwa parametry opcjonalne.

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

Zobacz też

Informacje

Lista parametrów (Visual Basic)

Koncepcje

Parametry opcjonalne (Visual Basic)

Inne zasoby

Słowa kluczowe (Visual Basic)