C# Dinamik Parametre Alan Metot

C# Dinamik Parametre Alan Metot

8 Ocak 2020 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 25
Yaklaşık okuma süresi : 2 DK
C# DevExpress CheckedListBoxControl Veri Alma Sorunu
C# MessageBox Buton Text Değiştirme

Merhabalar, yine tarihin tozlu raflarında bulduğum güzel bir ders olan C# Dinamik Parametre Alan Metot dersi ile eğitim setime devam ediyorum. Bu derste de çok fazla detay yok. Bu yüzden kodları hızlıca verip bitireceğim.

C# Dinamik Parametre Alan Metot

Biliyorsunuz ki metodlar hazırladığımızda almasını istediğimiz parametreleri belirleriz. 1 tane belki de 20 tane. Ancak bu sayı zaten net olarak bilinir. Metodu hazırlarken kaç tane parametre alacağını belirlemiş oluruz. Ancak ya alacağı parametre belirli değil ise… Bunun için basit olarak bir List<T>, belki de Array List kullanabiliriz. Bu durumda List türünde parametre alan bir metodumuz olur.

Ancak her zaman kullanamayız. Kaldı ki bir list oluşturup, verileri liste yüklemek hem fazladan kod hemde performans açısından sorunlar çıkartabilir. Tabi burada bahsettiğim performans sorunu öyle çok büyük bir sorun değil. Hissedilmez bile. Ancak damlaya damlaya göl olur. Hissedilmez bile diye diye göz ardı ettiğimiz bu ufak sorunlar büyük bir sorun olabilir.

Matematiksel işlemler yapan bir metodum olsun. Bu metoda her seferinde farklı sayılarda parametre göndermem gereksin.

Eğer dinamik parametre göremeseydim, aynı işlemi yapan ama farklı sayıda parametre alan belki onlarca overload metod yapmam gerekecekti.

Norma bir metod.

private static int EnBuyuk(int sayi1, int sayi2)
{

    if (sayi1 > sayi2)

        return sayi1;

    else

        return sayi2;

}

Şimdi bu metodumuzu dinamik parametreli hale getirelim ve işlemimizin nasıl kısaldığını da görelim.

private static int EnBuyuk(params int[] sayilar)
{
    return sayilar.Max();
}

Yukarıda da dinamik parametreli metodumuz yer alıyor. Parametrelerin dinamik olması için params Type[] ‘in olması gerekiyor.

EnBuyuk(100, 250);            // 2 parametre verildi. ÇIKTI:250
EnBuyuk(518, 456, 537, 931);  // 4 parametre verildi. ÇIKTI:931
EnBuyuk(258, 174, 56);        // 3 parametre verildi. ÇIKTI:258

Gördüğünüz gibi hem yazdığımız kodları büyük oranda azalttık hemde istediğimiz kadar parametre gönderebileceğimiz bir metodumuz oldu.

İlgili İçerik  C# ArgumentOutOfRangeException – Nedenleri ve Kullanımı

 


C# Dinamik Parametre Alan Metot yazımızında sonuna geldik dostlar.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Sağlıcakla ve takipte kalın. 😉

C# DevExpress CheckedListBoxControl Veri Alma Sorunu
C# MessageBox Buton Text Değiştirme