static void Main(string[] args) { Func <int, int> potegowanie = x => x * x; Func <int, int, int> dodawanie = (int a, int b) => { var temp = a + b; return(temp); }; Action <int> wypisz = x => Console.WriteLine(x); wypisz(potegowanie(dodawanie(2, 1))); var programisci = new Pracownik[] { new Pracownik { Id = 1, Imie = "Marcin", Nazwisko = "Nowak" }, new Pracownik { Id = 2, Imie = "Tomek", Nazwisko = "Kowal" }, new Pracownik { Id = 3, Imie = "Jacek", Nazwisko = "Sobota" }, new Pracownik { Id = 4, Imie = "Adam", Nazwisko = "Wrona" } }; var kierowcy = new List <Pracownik>() { new Pracownik { Id = 5, Imie = "Olek", Nazwisko = "Sroka" }, new Pracownik { Id = 6, Imie = "Pawel", Nazwisko = "Wrobel" }, new Pracownik { Id = 7, Imie = "Marek", Nazwisko = "Piatek" } }; var zapytanie = programisci.Where(p => p.Imie.Length == 5) .OrderByDescending(p => p.Imie) .Select(p => p); var zapytanie2 = from programista in programisci where programista.Imie.Length == 5 orderby programista.Imie descending select programista; var ilosc = zapytanie2.Count(); foreach (var osoba in zapytanie2) { Console.WriteLine(osoba.Imie); } }
static void Main(string[] args) { IEnumerable <Pracownik> programisci = new Pracownik[] { new Pracownik { Id = 1, Imie = "Marcin", Nazwisko = "Kowlski" }, new Pracownik { Id = 2, Imie = "Tomek", Nazwisko = "Sobota" }, new Pracownik { Id = 3, Imie = "Krzysztof", Nazwisko = "Bosak" }, new Pracownik { Id = 4, Imie = "Marcin", Nazwisko = "Maniura" }, }; IEnumerable <Pracownik> kierowcy = new List <Pracownik> { new Pracownik { Id = 5, Imie = "Andrzej", Nazwisko = "Krzywy" }, new Pracownik { Id = 6, Imie = "Franciszek", Nazwisko = "Bielas" }, new Pracownik { Id = 7, Imie = "Anna", Nazwisko = "Szara" }, }; // foreach (var osoba in programisci) // { // Console.WriteLine(osoba.Imie + " " + osoba.Nazwisko); // } IEnumerator <Pracownik> enumerator = kierowcy.GetEnumerator(); while (enumerator.MoveNext()) { Console.WriteLine(enumerator.Current.Imie); } }
private static bool RozpoczynaNaM(Pracownik pracownik) { return(pracownik.Imie.StartsWith("M")); }
static void Main(string[] args) { Console.WriteLine("Delegat Func:"); Func <int, int> potegowanie = x => x * x; Console.WriteLine(potegowanie(2)); Func <int, int, int> dodawanie = (a, b) => a + b; Console.WriteLine(dodawanie(2, 3)); Console.WriteLine(); Console.WriteLine("Delegat Action"); Action <int> wypisz = x => Console.WriteLine(x); wypisz(potegowanie(dodawanie(2, 3))); Console.WriteLine("================="); var programisci = new Pracownik[] { new Pracownik(1, "Marcin", "Nowak"), new Pracownik(2, "Tomek", "Kowal"), new Pracownik(3, "Jacek", "Sobota"), new Pracownik(4, "Adam", "Wrona") }; var kierowcy = new List <Pracownik> { new Pracownik(5, "Olek", "Sroka"), new Pracownik(6, "Paweł", "Wróbel"), new Pracownik(7, "Marek", "Piątek") }; Console.WriteLine(programisci.Count()); Console.WriteLine(kierowcy.Count()); Console.WriteLine("================="); Console.WriteLine("Enumerator"); var enumerator = programisci.GetEnumerator(); while (enumerator.MoveNext()) { Console.WriteLine(enumerator.Current); } Console.WriteLine("================="); Console.WriteLine("Wyrażenia Lambda:\n"); var zapytanie = programisci.Where(p => p.Imie.Length == 5) .OrderByDescending(p => p.Imie); //składnie zapytania (poniżej) jest tłumaczona przez kompilator //na składnię metody (powyżej) //niektóre operatory (jak np. Count) dostępne są wyłącznie //przez składnię metody var zapytanie2 = from programista in programisci where programista.Imie.Length == 5 orderby programista.Imie descending select programista; //używając składni zapytania, jeżeli konieczne staje się //wywołanie Count, można to zrobić przez skłądnię metody //jak poniżej var ilosc = zapytanie2.Count(); foreach (var osoba in zapytanie2) { Console.WriteLine(osoba); } }