Optional(Visual Basic)
프로시저를 호출할 때 프로시저 인수를 생략할 수 있도록 지정합니다.
설명
각 선택적 매개 변수에 대해 해당 매개 변수의 기본값으로 상수 식을 지정해야 합니다. 식이 Nothing으로 평가되면 값 데이터 형식의 기본값이 매개 변수의 기본값으로 사용됩니다.
매개 변수 목록에 선택적 매개 변수가 포함된 경우 그 뒤에 오는 모든 매개 변수도 선택적이어야 합니다.
Optional
한정자는 다음 컨텍스트에서 사용할 수 있습니다.
참고 항목
선택적 매개 변수가 있거나 없는 프로시저를 호출할 때 위치나 이름으로 인수를 전달할 수 있습니다. 자세한 내용은 위치 및 이름으로 인수 전달을 참조하세요.
참고 항목
오버로드를 사용하여 선택적 매개 변수로 프로시저를 정의할 수도 있습니다. 선택적 매개 변수가 하나 있는 경우 매개 변수를 허용하는 버전과 허용하지 않는 버전 등 두 가지 오버로드된 프로시저 버전을 정의할 수 있습니다. 자세한 내용은 Procedure Overloading을 참조하세요.
예 1
다음 예에서는 선택적 매개 변수가 있는 프로시저를 정의합니다.
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
예제 2
다음 예에서는 위치별로 전달된 인수와 이름으로 전달된 인수를 사용하여 프로시저를 호출하는 방법을 보여 줍니다. 프로시저에는 두 개의 선택적 매개 변수가 있습니다.
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
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET