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.
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.