• Merhaba Ziyaretçi,
    Microsoft 365 Uygulamaları ile ilgili yeni haberler, dikkat çekici konular, ilgi ile takip edeceğiniz yazılar için.

    Abone Olun
  • ESTE - Microsoft Office Eğitimleri

    Yeni yıl Microsoft Office Eğitim planlarınız için bütçenizi oluşturmadan önce ESTE eğitim kalitesi ile tanışın. 🙌
    Kullanıcıların ihtiyacı olan yazılı materyal, dosya ve video kaynağı desteğimiz ile tüm ofis çalışanlarının iş süreçlerini rahatlatacak eğitimler planlayın. 🎯
    Microsoft Office eğitimlerimiz hakkında detaylı bilgi için bize ulaşın.

    👉 Microsoft Office Eğitim Talebi

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

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,608
En iyi yanıt
14
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Vers.
Office 365 TR+EN
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:
Üst Alt