C# Referans ve Output Nedir? Nasıl Kullanılır?

C# Referans ve Output, Metoda parametre kullanımı için bir değişken kullanıldığında, metod içerisinde bu değişken üzerinde yapılacak değişikliğin yansıyabilmesi veya dönüş tipi olmamasına rağmen metoddan geriye değer döndürmek için kullanılabilecek yöntemlerdir.

C# Referans ve Output Nedir? Nasıl Kullanılır?

C# Referans ve Output Nedir? Nasıl Kullanılır?

Referans yolu ile parametre aktarmak

Metod çağrıldığında parametre olarak geçirilen bir değişkenin değerinin kendisi kullanılır. Değer yolundaki gibi bellekte yeni bir alan oluşturulmaz. Başka bir deyişle metoda, ilgili parametrenin bellekteki referansı aktarılmaktadır. Bir önceki örneki referans yolu ile parametre geçirmeyi temsil etmek için kullanılabilir. Bir parametreyi metoda referans yolu ile geçirmek için hem metodun yazılışında hemde çağrılışında parametrenin ve önüne ref anahtar kelimesi koyulur.

Örnek

Çıktı

Referans Yolu ile Parametre Aktarmak

7

Ekran Çıktısı Açıklaması

Main() içerisinde tanımlanan ve başlangıç değeri 6 olarak verilen k değişkeni, bellekteki adresi ile birlikte metoda parametre olarak geçirilir. Bu durum, parametrenin başına getirilen ref anahtar kelimesi ile sağlanır. Dolayısıyla kod bloğu içerisinde yapılan artık bu bellek bölgesini etkiler ve metot çağrısının atdından sorgulanan k’nın değeri 7 olarak elde edilir.

Output yolu ile parametre aktarmak

Metoda parametreyi output yoluyla geçirmek, kavramsal olarak referans yolu ile parametre geçirmeye benzer. ref anahtar kelimesi yerine hem method yazılışında, hem de metot çağrımında ilgili parametrelerin başına out anahtar kelimesi getirilir. out parametresinin tek farkı metoda parametre olarak geçirilen değişkenin başlangıç değerinin verilmesine gerek olmamasıdır. ref anahtar kelimesi kullanıldığında ilgili değişken metoda aktarılmadan önce mutlaka ilk değeri almalıdır.

Örnek

Çıktı

Referans Yolu ile Parametre Aktarmak

5 in karesi : 25

Ekran Çıktısı Açıklaması

Bu örnekte, KaresiniVer() metodu iki tane parametre kabul eder bu parametrelerden ilki karesi alınacak değerdir. diğeri ise hesaplanan karenin değerini dışarıya(metodu çağırana) göndermek için kullanılacak olan out parametresidir.

Kod bloğunda sonuc isimli out parametresine a parametresinin karesi hesaplanıp atanır. Dikkat edilirse metod geriye hiçbir değer döndürmez gibi görünür. Fakat, aslında out parametresi sayesinde içeride hesaplanan bu parametrenin değeri dışarıya çıkarılır.

Bu bilgiler ışığında şunları söyleyebiliriz. Main metodu içerisinde KaresiniVer() metodu çağrılır. 5 değeri verilen kök değişkeni ile başlangıç değeri verilmeyen ve out olarak işaretlenmiş sonuc değişkeni, bu metoda parametre olarak geçirilir.

Burada gözlemlenmesi gereken, metoda parametre olarak geçirilen out parametresinin bellekte yeri ayrı olmasına rağmen henüz değerlerinin olmamasıdır. Metod içerisinde bellek alanına 5 değerinin karesi 25 atanır ve bu değerin metot dışında da erişilebilir olduğu ekrana yazılıp görülür.

Referans(ref) ve Output(out) yoluyla metodlara değer aktarma sayesinde, bir metottan geriye birden fazla değer döndürülebilir.


📚Benzer Makaleler


✍ Lütfen olumlu-olumsuz tüm görüşlerinizi bana yorum yada mail yolu ile iletmeyi ihmal etmeyin.

🔗 Sosyal medya kanallarından makaleyi paylaşarak destek olursanız çok sevinirim.

👋 Bir sonraki makalede görüşmek dileğiyle.

4.7/5 - (3 votes)

Murat Öner sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya devam et