İsteğe Bağlı (Visual Basic)

Yordam çağrıldı olduğunda bir yordam bağımsız değişkeninin atlanabilir olduğunu belirtir.

Açıklamalar

her isteğe bağlı parametre için, bu parametrenin varsayılan değeri olarak sabit bir ifade belirtmeniz gerekir. İfade Nothing olarak değerlendirilirse,parametrenin varsayılan değeri olarak değer veri türünün varsayılan değeri kullanılır.

Parametre listesi isteğe bağlı bir parametre içeriyorsa, bunu izleyen her parametre de isteğe bağlı olmalıdır.

Değiştirici Optional şu bağlamlarda kullanılabilir:

Not

İsteğe bağlı parametrelerle veya bu parametreler olmadan bir yordamı çağırarak, bağımsız değişkenleri konuma veya adla geçerek. Daha fazla bilgi için bkz. Bağımsız Değişkenleri Konuma ve Adına Göre Geçirme.

Not

Ayrıca, aşırı yüklemeyi kullanarak isteğe bağlı parametrelerle bir yordam tanımlayabilirsiniz. İsteğe bağlı bir parametre varsa, yordamın iki aşırı yüklenmiş sürümünü tanımlayabilirsiniz: biri parametresini kabul eden, biri kabul etmeyen. Daha fazla bilgi için bkz. Yordam Aşırı Yüklemesi.

Örnek 1

Aşağıdaki örnek, isteğe bağlı parametresi olan bir yordam tanımlar.

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

Örnek 2

Aşağıdaki örnek, konum tarafından geçirilen bağımsız değişkenlerle ve ad ile geçirilen bağımsız değişkenlerle bir yordamın nasıl çağrıl olduğunu gösteriyor. Yordamda iki isteğe bağlı parametre vardır.

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

Ayrıca bkz.