예제 #1
0
        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);
        }
예제 #2
0
        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));
        }