Opsional (Visual Basic)
Menentukan bahwa argumen prosedur dapat dihilangkan ketika prosedur dipanggil.
Keterangan
Untuk setiap parameter opsional, Anda harus menentukan ekspresi konstanta sebagai nilai default parameter tersebut. Apabila ekspresi mengevaluasi ke Tidak Ada, nilai default jenis data nilai digunakan sebagai nilai default parameter tersebut.
Apabila daftar parameter berisi parameter opsional, setiap parameter yang mengikutinya juga harus opsional.
Pengubah Optional
dapat digunakan dalam konteks ini:
Catatan
Saat memanggil prosedur dengan atau tanpa parameter opsional, Anda dapat meneruskan argumen berdasarkan posisi atau berdasarkan nama. Untuk informasi selengkapnya, lihat Meneruskan Argumen berdasarkan Posisi dan berdasarkan Nama.
Catatan
Anda juga dapat menentukan prosedur dengan parameter opsional menggunakan kelebihan beban. Apabila Anda memiliki satu parameter opsional, Anda dapat menentukan dua versi prosedur yang kelebihan beban, satu yang menerima parameter dan satu tanpa parameter. Untuk informasi selengkapnya, lihat Overloading Prosedur.
Contoh 1
Contoh berikut menentukan prosedur yang memiliki parameter opsional.
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
Contoh 2
Contoh berikut menunjukkan cara memanggil prosedur dengan argumen yang diteruskan berdasarkan posisi dan dengan argumen yang diteruskan berdasarkan nama. Prosedur ini memiliki dua parameter opsional.
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
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk