Anasayfa » Csharp

Csharp ref, out ve params Kullanımı

8 Aralık 2011 4.408 kez okundu Yorum yok
1 Star2 Stars3 Stars4 Stars5 Stars (Henüz hiç oy kullanılmadı. İlk oyu siz verin.)
Loading...

Bugünkü yazımda sizlere c# da kullanılan ref, out ve params keywordlerinin kullanımından  bahsedeceğim.

Genel olarak programlamada iki türlü değişkenler vardır.

  1. Deger (value) tipinde
  2. Referans tipinde değişkenler
Değer tipindeki değişkenler bellekte deger olarak tutulurken, referans tipindeki değişkenler bellekte adres olarak tutulurlar. Eğer siz bir metoda normal (deger) tipte bir değişken yollarsanız, gönderdiğiniz değer için metod içerisinde aynen bir kopya oluşturulur ve bu kopya üzerinden işlem yapılır. Yani sizin orjinal değerinizide değişiklik olmaz. Metod geriye döndüğünde değerinizin değişmediğini görürsünüz.
Referans tipinde değişken gönderdiğinizde ise degerin kendisi yerine bellek adresi gönderilir. Böyle olunca bellek adresi kopyalansa bile yine aynı adresi işaret ettiğinden orjinal değer üzerinde işlem yapılır.
Yani sizin tek değişkeniniz vardır ve metod içinde ve dışında bu değişken üzerinde işlem yapılır. Bu yöntemi kullanabilmek için metod çağrılırken gönderilen değerin başına “ref” keywordu konulmalı, ayrıca metodun tanımlandığı yerde değişken tipinden önce yine “ref” keywordu yazılmalı.
Referance tipi kullanılırken bir sorun vardır. Referans göndereceğiniz değişken bir şey eşitlenmiş olmalıdır. Bu sorunun çözümü için c# da out keywordu kullanılmaktadır. Out keywordu, metoda gönderilen değerin önemi olmadığı sadece geri dönen değerlerin önemli olduğu durumlarda kullanılır ve metod içerisinde direk olarak başka bir değişkene eşitlenemez.
Referanstan tek farkı metoda giderken herhangi bir değer götürmemesi. Bu yüzden metod içerisinde değer atanmadan kullanılamaz.
Params keywordu ise bu üçünden biraz farklı bir kullanım içindir. Params keywordu metoda gönderilecek değişkenlerin sayısının belli olmadığı durumlarda kullanılır. Ve değişkenleri liste şeklinde alır.
Eğer belli bir değişken metoda gönderilmek zorunda ise ve daha sonrası belli değil ise, öncelikle metod tanımlanırken belirli olan değişkenler kullanılır daha sonra params.
Eğer params ve zorunlu parametreleri birlikte kullanacaksanız, params parametresinin en son yazıldığından emin olun.

 

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

Yorum Bırakın!

Yorum yaz, yada kendi sitende trackback (Geri besleme) olarak ekle. Ayrıca RSS ile bu konuya üye olabilirsin. .

Nazik olun. Temiz tutun. Konu dışına çıkmayın. Spam yaratmayın.

Bu tagları kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bloğumuz gavatarı desteklemektedir. Kendi gavatarınızı edinmek için lütfen Gravatar a üye olun.