예제 #1
0
        static void Main(string[] args)
        {
            List <Customer> customers = new List <Customer>
            {
                new Customer {
                    City = "Phoenix", FirstName = "John", LastName = "Doe", ID = 1
                },
                new Customer {
                    City = "Phoenix", FirstName = "Jane", LastName = "Doe", ID = 500
                },
                new Customer {
                    City = "Seattle", FirstName = "Suki", LastName = "Pizzoro", ID = 3
                },
                new Customer {
                    City = "New York City", FirstName = "Michele", LastName = "Smith", ID = 4
                },
            };

            var pheonixCustomers = customers.Where(c => c.City == "Pheonix" && c.ID < 500).OrderBy(c => c.FirstName);

            foreach (var customer in customers)
            {
                Console.WriteLine($"Customer's firstName: {customer.FirstName}");
            }

            BizRulesDelegate addDel      = (x, y) => x + y;
            BizRulesDelegate multiplyDel = (x, y) => x * y;
            var processData = new ProcessData();

            processData.Process(3, 5, addDel);

            Func <int, int, int> funcAddition       = (x, y) => x + y;
            Func <int, int, int> funcMultiplication = (x, y) => x * y;

            processData.ProcessFunc(2, 3, funcAddition);

            Worker worker = new Worker();

            worker.WorkPerformed += (sender, e) => Console.WriteLine($"Hours worked: {e.Hours}, Type of Work: {e.WorkType}");

            worker.WorkCompleted += delegate(object sender, EventArgs e)
            {
                Console.WriteLine($"Work is done!");
            };

            //worker.DoWork(8, WorkType.CodeWriting);
        }
예제 #2
0
        static void Main(string[] args)
        {
            var custs = new List <Customer>
            {
                new Customer {
                    FirstName = "Simhachalam", LastName = "Chintalapudi", Id = 1, City = "Tanuku"
                },
                new Customer {
                    FirstName = "Annavaram", LastName = "Meruduri", Id = 2, City = "Atthili"
                },
                new Customer {
                    FirstName = "Tirupati", LastName = "Tottempudi", Id = 3, City = "Ramvaram"
                },
                new Customer {
                    FirstName = "Bhadrachalam", LastName = "Relangi", Id = 4, City = "Tanuku"
                }
            };
            var Tancusts = custs.Where(c => c.City == "Tanuku");

            foreach (var item in Tancusts)
            {
                Console.WriteLine(item.FirstName + "-" + item.City);
            }



            var worker = new Worker();

            // worker.WorkPerformed += new EventHandler<WorkPerformedEventArgs>(Worker_WorkPerformed);
            // worker.WorkPerformed += Worker_WorkPerformed;
            ///* Anonymous method call*/   worker.WorkPerformed += delegate (object sender, WorkPerformedEventArgs e)
            //   {
            //       Console.WriteLine("Hours worked :" + e.Hours + " " + e.workType.ToString());
            //   };
            /*Lambda Expression*/
            worker.WorkPerformed += (s, e) =>
            {
                Console.WriteLine("Hours worked :" + e.Hours + " " + e.workType.ToString());
            };
            worker.WorkCompleted += (s, e) => Console.WriteLine("Work completed");

            /* Custom delegate*/
            BizRulesDelegate addDel = (x, y) => x + y;
            BizRulesDelegate mulDel = (x, y) => x * y;

            var data = new ProcessData();

            data.Process(5, 6, addDel);


            /*Action*/
            Action <int, int> myaction = (x, y) => Console.WriteLine(x / y);

            data.ProcessAction(56, 6, myaction);

            /* Func */
            Func <int, int, int> myAddFunc = (x, y) => x + y;

            data.ProcessFunc(5, 7, myAddFunc);

            // worker.WorkCompleted += Worker_WorkCompleted;
            worker.DoWork(7, WorkType.Cool);
            Console.Read();
        }