Beispiel #1
0
        static void Main(string[] args)
        {
            var sales = new Employee[]
            {
                new Employee()
                {
                    Id = 1,
                    Name = "Lara"
                },
                new Employee()
                {
                    Id = 2,
                    Name = "George"
                }
            };

            var developers = new List<Employee>()
            {
                new Employee()
                {
                    Id = 1,
                    Name = "James"
                },
                new Employee()
                {
                    Id = 2,
                    Name = "Marcus"
                },
                new Employee()
                {
                    Id = 3,
                    Name = "Beth"
                },
                new Employee()
                {
                    Id = 4,
                    Name = "Joseph"
                },
                new Employee()
                {
                    Id = 5,
                    Name = "Alex"
                },
                new Employee()
                {
                    Id = 6,
                    Name = "Jose"
                }
            };

            // Func types typically return types.
            Func<int, int> cube = x => x * x * x;
            Func<int, int, int> subtract = (x, y) => x - y;

            // Action types are always void so we only provide the types going in.
            Action<int> writeOut = x => Console.WriteLine(x);

            Console.WriteLine(cube(3));
            Console.WriteLine(subtract(10, 8));

            writeOut(5);

            //            foreach (var employee in developers.Where(e => e.Name.Length == 4).OrderByDescending(e => e.Name))
            //            {
            //                Console.WriteLine($"{employee.Id} - {employee.Name}");
            //            }

            var query = from employee in developers
                        where employee.Id % 2 != 0
                        orderby employee.Id
                        select employee;

            var query2 = developers.Where(e => e.Id % 2 != 0).OrderBy(e => e.Id);

            foreach (var employee in query2)
            {
                Console.WriteLine($"{employee.Id} - {employee.Name}");
            }
        }