Makale ByVal ile ByRef Arasındaki Fark Nedir?

Bu Makale Yararlı Oldu mu?

  • Evet

    Kullanılan: 1 100.0%
  • Hayır

    Kullanılan: 0 0.0%

  • Kullanılan toplam oy
    1
Fonksiyonlarda argümanları belirtirken ByVal ve ByRef ifadeleri kullanılır.

Val: Value yani Değerin kısaltmasıdır
Ref: Reference yani Referansın kısaltmasıdır.

Yani; Fonksiyon içinde kullanılan değişkenlerin Değere ve Referansa göre değerlendirilmesini sağlayabiliyoruz.
Eğer ByVal ifadesi kullanılırsa, ilgili argüman, gidilen prosedürdeki değer ne ise değişmeden geri döndürülür.
Eğer ByRef ifadesi kullanılırsa, ilgili argüman, gidilen prosedürdeki değer ne ise onunla değişerek geri döndürülür.

İhtiyaca göre değişmekle beraber KTF'lerde daha çok ByVal ifadesinin kullanıldığını görürsünüz.

Şimdi bu iki ifadenin de nasıl sonuç verdiğini görelim.
ByRef olarak belirttiğimiz argümanın değişerek Gümüşhane olarak geri döndüğünü, ByVal olarak belirttiğimiz argümanın ise değişmeden geri döndüğünü görebilirsiniz.

PHP:
Sub ExcelTurkey()
    Dim il As String
    il = "İstanbul"
    Call Degistir_ByRef(il)
        MsgBox il

    Call Degistirme_ByVal(il)
        MsgBox il
End Sub

Sub Degistir_ByRef(ByRef argu As String)
    argu = "Gümüşhane"
End Sub

Sub Degistirme_ByVal(ByVal argu As String)
    argu = "Ankara"
End Sub
 
Son düzenleme:
Admin

Yorumlar

Üst Alt