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); }
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(); }