Optional (Visual Basic)

 

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

Spécifie qu'un argument de procédure peut être omis lorsque la procédure est appelée.

Pour chaque paramètre optionnel, vous devez spécifier une expression constante comme valeur par défaut de ce paramètre. Si l'expression a la rien, la valeur par défaut du type de données valeur est utilisée comme valeur par défaut du paramètre.

Si la liste de paramètres contient un paramètre optionnel, chaque paramètre qui le suit doivent également être facultatifs.

Le modificateur Optional peut être utilisé dans les contextes suivants :

System_CAPS_ICON_note.jpg Remarque

En appelant une procédure avec ou sans paramètres optionnels, vous pouvez passer des arguments par position ou son nom. Pour plus d'informations, consultez Passing Arguments by Position and by Name.

System_CAPS_ICON_note.jpg Remarque

Vous pouvez également définir une procédure avec des paramètres optionnels à l'aide de la surcharge. Si vous avez un paramètre facultatif, vous pouvez définir deux versions surchargées de la procédure, de celle qui acceptent le paramètre et de celle qui ne fait pas. Pour plus d'informations, consultez Procedure Overloading.

L'exemple suivant définit une procédure qui possède un paramètre optionnel.

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  

L'exemple suivant montre comment appeler une procédure avec des arguments passés par position et avec des arguments passés par nom. La procédure a deux paramètres optionnels.

    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

Parameter List
Optional Parameters
Mots clés

Afficher: