C # 'de ref ve out parametresi arasındaki fark

ref (Referans) Parametresi

“Ref” parametresi, değeri gerçek parametreden biçimsel parametreye, yani callee yönteminden çağrılan yönteme aktarmak için kullanılır. C # 'da, “ref” değiştiricisiyle bildirilen bir parametre bir referans parametresidir. Parametreleri referans olarak ilettiğinizde, değer parametrelerinden farklı olarak, bu parametre için yeni bir konum oluşturulmaz. Formal parametrede yapılan değişiklikler gerçek parametreye yansır.

Ref Parametresi örneği
Yukarıdaki program snippet'inde gösterildiği gibi, m'de yapılan değişiklikler n parametresine yansıtılacaktır, çünkü parametre referans ile iletilir.

out (Çıkış) Parametresi

Çıktı parametresi, sonucu çağrı işlevine geri aktarmak için kullanılır. 'out' anahtar sözcüğü, parametreyi bir Çıkış parametresi olarak bildirmek için kullanılır. Bir referans parametresine benzer şekilde, çıkış parametresi yeni bir depolama yeri oluşturmaz. Bunun yerine, çağıran yöntemdeki parametrenin takma adı olur.

Out Parametresi örneği
Yukarıdaki programda, x çağrı işlevinde bir çıkış parametresi olarak bildirilmiştir ve gördüğünüz gibi x başlatılmamıştır. Kare işlevi sona erdiğinde, q değeri x çıkış parametresine kopyalanacaktır.

C # 'da ref ve out parametresi arasındaki fark

  1. Referans parametresinde, resmi parametrede yapılan değişiklikler gerçek parametreyi yansıtırken, out parametresinde değer, çağıran fonksiyonun out parametresine geri yansıtılır.
  2. 'Çıktı' gerçek parametresine genellikle bir değer atanmazken, başvuru olarak bildirilen gerçek bir parametreye çağrıdan önce her zaman bir değer atanmalıdır.
    Not: Yöntem gövdesindeki out parametresine değer atamalısınız; aksi takdirde yöntem derlenmeyecektir.
  3. Hem çıkış hem de ref parametreleri yeni bir bellek konumu oluşturmaz.
  4. Ref ve out parametreleri çalışma zamanında farklı şekilde ele alınır, ancak derleme zamanında aynı şekilde ele alınır.
O