Anonim metodumuzu bu sefer de fonksiyona parametre olarak gönderdik.
namespace AnonimMetodParametre { class Program { #region delegenin parametre olması delegate int Matematiksel(int sayi); static int KüpAl(int sayi) { return sayi * sayi * sayi; } static int Cıkar(int sayi) { return --sayi; } static void Metod(Matematiksel p, int a) // delegemizi parametre olarak gönderdik. { Console.WriteLine(p.Invoke(a)); } #endregion static void Main(string[] args) { Matematiksel delege = KüpAl; delege += Cıkar; // delge ye yine multicast yaptık ama en son hangi metod bağlandıysa o metod çalıştı. Console.WriteLine(delege(4)); Metod(delege, 20); Console.WriteLine("-----------"); Console.WriteLine("3 e bölünen sayılar"); #region anonimMetod parametre int[] sayilar = { 3, 6, 9, 12, 17, 19, 27 }; int[] bolunenler = Array.FindAll(sayilar, delegate(int p) //sayilar dizisi elemanları delegeye teker teker gönderilir.Delegede tanımlı olan işlem yapılıp koşulu sağlayanlar diziye atılır. { return (p % 3 == 0); }); // delege normal bir fonksiyonun işini yapıyor tamamı parametre olarak algılancağı için blok sonunda ; kullanamayız. foreach (int item in bolunenler) { Console.WriteLine(item); } #endregion } } }