05 December 2016

C# Metodlar: Params, Ref – Out, Overloading

Daha önceki metodlarla ilgili notlarımda belirttiğim gibi yazdığımız kod parçalarını belirli bir yerde birden fazla kullanmamız gerektiğinde metodlara ihtiyaç duyarız. Ve normal metod tanımlamada belirlenen sayıda parametrelerle işlem yapılmaktadır.

Params: Belirsiz sayıda parametrelerle işlem yapmamız gerekebilir. Bu durumda params kullanırız. Parantez içerisinde params ifadesi kullanıp, parantez içerisine tanımlanan değişken dizi değişken olarak tanımlanır.

Örnek tanımlama şekli:

int Topla(params int[] a)
 {
 //İşlemler
 }

Ref – Out: Ref ve out metodların kullanacakları parametrelerin ilk değerlerinin atanması veya atanmaması için kullanılır.

Metod parantezinde ref ifadesi yeraldığında parametrenin ilk değerinin tanımlandığı yerde mutlaka atanması gerekir ve ref tanımlanan metoda gelen parametrenin bir değerinin olması gerekir. Bir atama işlemi gerçekleştirilmelidir.

Out kullanılan parametrenin ilk değerinin olması gerekmez. Atama metodun içinde yapılır, metodun kullanıldığı yerde yapılmaz.

Örnek tanımlama şekli:

void metodRef(ref int x)
 {
 //x parametresine bir değer vermek zorunda değiliz.
 x=30;
//eğer x'e değer vermezsek programdan gelen değer aynen geri döner.
}
void MetodOut(out int n)
 {
//b parametresine değer vermek zorundayız
 b=40;
}

Overloading: Aşırı yüklenme – Bir metodun farklı versiyonlarını oluşturmak için kullırız. C# içerisinde aynı metodu birden fazla kullanmak için bir metod overloading (aşırı yüklenme) yapısı mevcuttur.

Comments

  1. Faruk says:

    Örnek Programda yanlışlık yapılmış sanırım ref ve out ile yapılan açıklamalar tam tersi olacak.

  2. SEM Uzmani says:

    Merhaba. Bloğunuzu çok beğendim. Arzu ederseniz sizinle link değişimi yapabiliriz. iyi çalışmalar.