다음을 통해 공유


Optional(Visual Basic)

프로시저를 호출할 때 프로시저 인수를 생략할 수 있도록 지정합니다.

설명

각 선택적 매개 변수에 대해 해당 매개 변수의 기본값으로 상수 식을 지정 해야 합니다. 식에서 계산 하는 경우 아무것도, 기본값 데이터 형식의 값 매개 변수의 기본 값으로 사용 됩니다.

선택적 매개 변수 매개 변수 목록을 포함 하는 경우에 오는 모든 매개 변수에 선택적 이어야 합니다.

Optional 한정자는 다음 컨텍스트에서 사용할 수 있습니다.

참고

함께 또는 선택적 매개 변수 없이 프로시저를 호출 하는 경우에 위치 또는 이름 인수를 전달할 수 있습니다.자세한 내용은 위치 및 이름으로 인수 전달(Visual Basic)를 참조하십시오.

참고

선택적 매개 변수를 사용 하는 프로시저 오버 로드를 사용 하 여 정의할 수도 있습니다.하나의 선택적 매개 변수가 있는 경우 프로시저 매개 변수를 받아들이는, 하나 하나 하지 않는 두 개의 오버 로드 된 버전을 정의할 수 있습니다.자세한 내용은 프로시저 오버로딩(Visual Basic)를 참조하십시오.

예제

다음 예제에서는 선택적 매개 변수가 있는 프로시저를 정의 합니다.

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

다음 예제에서는 인수는 위치로 전달 인수를 이름으로 전달 하 고 프로시저를 호출 하는 방법을 보여 줍니다. 프로시저는 두 개의 선택적 매개 변수가 있습니다.

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

참고 항목

참조

매개 변수 목록(Visual Basic)

개념

선택적 매개 변수(Visual Basic)

기타 리소스

키워드(Visual Basic)