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

Yordam çağrıldığında bir yordam bağımsız değişkeninin atlanabileceğini belirtir.

Açıklamalar

İsteğe bağlı her parametre için, bu parametrenin varsayılan değeri olarak bir sabit 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ı parametreler içeren veya olmayan bir yordamı çağırırken, bağımsız değişkenleri konuma veya ada göre geçirebilirsiniz. Daha fazla bilgi için bkz . Bağımsız Değişkenleri Konuma ve Ada Göre Geçirme.

Not

Ayrıca, aşırı yükleme kullanarak isteğe bağlı parametrelerle bir yordam tanımlayabilirsiniz. İsteğe bağlı bir parametreniz varsa, biri parametresini kabul eden diğeri de olmayan olmak üzere yordamın iki aşırı yüklenmiş sürümünü tanımlayabilirsiniz. Daha fazla bilgi için bkz . Yordam Aşırı Yükleme.

Ö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 örnekte, konuma göre geçirilen bağımsız değişkenler ve ada göre geçirilen bağımsız değişkenlerle bir yordamın nasıl çağrıldığı gösterilmektedir. Yordamın iki isteğe bağlı parametresi 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.