public void Test() { Console.Clear(); Console.WriteLine("Demo Lambda"); Console.Write(">>>>>Nhap vao 1 so nguyen >0: "); int n = int.Parse(Console.ReadLine().Trim()); // khai bao bien delegate [ma] - ket hop bieu thuc lambda tinh giai thua DelegateMath ma = (int x) => { long r = 1; for (int i = 2; i <= x; i++) { r *= i; } return(r); }; long kq = ma(n); Console.WriteLine($"{n}! = {kq} "); // khai bao bien delegate [ma] - ket hop bieu thuc lambda tinh binh phuong ma = x => x * x; kq = ma(n); Console.WriteLine($"Binh Phuong cua {n} = {kq} "); Console.Write("Nhap chuoi ky tu thu 1: "); string s1 = Console.ReadLine().Trim(); Console.Write("Nhap chuoi ky tu thu 2: "); string s2 = Console.ReadLine().Trim(); // kiem tra s1 co chua s2 khong? thong qua delegate - ket hop bieu thuc lambda Func <string, string, bool> f2 = (x1, x2) => Regex.IsMatch(s1, s2, RegexOptions.IgnoreCase); if (f2(s1, s2)) { Console.WriteLine($"[{s1}] co chua [{s2}]!"); } else { Console.WriteLine(">>>> Khong tim thay"); } Console.ReadKey(true); }
private static void DelegateDemo() { CustomerManager customerManager = new CustomerManager(); //CustomerManeger classından nesne oluşturuldu. DelegateMessenger delegateMessenger = customerManager.SendMessage; //Bu nesneye ait metotlar oluşturulan delegateye atandı. delegateMessenger += customerManager.ShowAlert; //delegate ye metot eklendi. delegateMessenger(); //delegate aktif hale getirildi. Matematik matematikIslem = new Matematik(); DelegateMath delegateMath = matematikIslem.Topla; delegateMath += matematikIslem.Cikarma; delegateMath(4, 3); DelegateCalculate delegateCalculate = matematikIslem.Bol; result = delegateCalculate(5, 3); Console.WriteLine(result); delegateCalculate += matematikIslem.Carp; Console.WriteLine(delegateCalculate(result, 3)); }