Csharp ref, out ve params Kullanımı
8 Aralık 2011
4.503 kez okundu
Yorum yok
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.
- Deger (value) tipinde
- 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.
Bunlara da Göz Atmak İsteyebilirsiniz.
Rica: Sitemizin Google'da daha üst sıralarda çıkması için lütfen alttaki Google+ veya Begen butonuna tıklayınız , ya da yazılarımızı Facebookta Paylaş butonu ile paylaşabilirsiniz.
Yazılarımızı okuyan okurlarımızın yorumlarını bizimle paylaşmaları, bizi daha çok yazı yazmaya teşvik edecektir. Lütfen yorumlarınızı, görüşlerinizi, eleştirilerinizi bizden esirgemeyin.
<<< Önceki: Csharp Property Nedir, Nasıl Kullanılır?
Sonraki: Dinamik Programlama (Dynamic Programming) – En Kısa Yol Problemi >>>
Yorum Bırakın!