コード例 #1
0
        public static void ShowGroup()
        {
            var characters = PersonsService.GetPersons();
            var groups     = from person in characters
                             where person.Age > 100
                             group person by person.Gender into genderGroups
                             group genderGroups by genderGroups.Count() into countedGroup
                             select new
            {
                Key   = countedGroup.Key,
                Count = countedGroup.Count(),
                Group = countedGroup
            };

            foreach (var persons in groups)
            {
                foreach (var person in persons.Group)
                {
                    foreach (var human in person)
                    {
                        Console.WriteLine(human);
                    }
                }
            }
        }
コード例 #2
0
        public static void ShowProperty()
        {
            var characters = PersonsService.GetPersons();
            var persons    = characters.Select(x => new { PersonDescription = $"{x.FirstName}, {x.LastName}, { x.Gender} ,{ x.Age}" });

            foreach (var person in persons)
            {
                Console.WriteLine(person.PersonDescription);
            }
        }
コード例 #3
0
        public static void ShowExtensionMethodSyntax()
        {
            var users = PersonsService.GetPersons();

            var adults = users.Where(n => n.Age > 30).OrderByDescending(x => x.Age).ThenBy(x => x.FirstName);;

            foreach (var adult in adults)
            {
                Console.WriteLine(adult.ToString());
            }
        }
コード例 #4
0
        public static void OrderByExtensionSyntax()
        {
            var characters = PersonsService.GetPersons();

            var adults = characters.Where(x => x.Age > 20).OrderByDescending(x => x.Gender).ThenBy(x => x.FirstName);

            foreach (var adult in adults)
            {
                Console.WriteLine(adult.ToString());
            }
        }
コード例 #5
0
        public static void ShowWhereWithExtensionSyntax()
        {
            var characters = PersonsService.GetPersons();

            var persons = characters.Where(x => x.FirstName.StartsWith("A") || x.LastName.Length == 5);

            foreach (var person in persons)
            {
                Console.WriteLine(person.ToString());
            }
        }
コード例 #6
0
        public static void ShowExtensionMethodSyntax()
        {
            var characters = PersonsService.GetPersons();

            var adults = characters.Where(character => character.Age > 20);

            foreach (var adult in adults)
            {
                Console.WriteLine(adult.ToString());
            }
        }
コード例 #7
0
        public static void ShowOrederBy()
        {
            var characters = PersonsService.GetPersons();

            var adults = from character in characters
                         orderby character.FirstName
                         select character;

            foreach (var adult in adults)
            {
                Console.WriteLine(adult.ToString());
            }
        }
コード例 #8
0
        public static void ShowBasicSyntaxLinq()
        {
            var characters = PersonsService.GetPersons();

            var adults = from character in characters
                         where character.Age > 20
                         select character;

            foreach (var adult in adults)
            {
                Console.WriteLine(adult.ToString());
            }
        }
コード例 #9
0
        public static void ShowConditionWithGender()
        {
            var characters = PersonsService.GetPersons();

            var adults = from character in characters
                         where character.Gender == true
                         select character;

            foreach (var adult in adults)
            {
                Console.WriteLine(adult.ToString());
            }
        }
コード例 #10
0
        public static void ShowExplicitSelect()
        {
            var characters = PersonsService.GetPersons();

            var names = from character in characters
                        select character.FirstName;

            //var names = characters.Select(x => x.FirstName);

            foreach (var name in names)
            {
                Console.WriteLine(name);
            }
        }
コード例 #11
0
        public static void ShowWhereWithBasicSyntax()
        {
            var characters = PersonsService.GetPersons();

            var persons = from character in characters
                          where character.FirstName.StartsWith("A") &&
                          !character.LastName.StartsWith("S")
                          select character;

            foreach (var person in persons)
            {
                Console.WriteLine(person.ToString());
            }
        }
コード例 #12
0
        public static void DefferedExecution()
        {
            var characters = PersonsService.GetPersons();

            var adults = characters.Where(character => character.FirstName.StartsWith("A"));

            characters.Add(new Person("Andrew", "Harlan", true, 37));

            //Запрос выполняется в момент его использования
            foreach (var adult in adults)
            {
                Console.WriteLine(adult.ToString());
            }
        }
コード例 #13
0
        public static void GroupByExtensionSyntax()
        {
            var characters = PersonsService.GetPersons();

            var groups = characters.GroupBy(x => x.Gender);

            foreach (var group in groups)
            {
                foreach (var person in group)
                {
                    Console.WriteLine(person.ToString());
                }
            }
        }
コード例 #14
0
        public static void ShowGroupBy()
        {
            var characters = PersonsService.GetPersons();

            var groups = from character in characters
                         group character by character.Gender;

            foreach (var group in groups)
            {
                foreach (var person in group)
                {
                    Console.WriteLine(person.ToString());
                }
            }
        }
コード例 #15
0
        public static void SelectAnonymousType()
        {
            var characters = PersonsService.GetPersons();

            var persons = from character in characters
                          select new
            {
                character.FirstName,
                character.Age
            };

            //var persons = characters.Select(x => new { x.FirstName, x.Age });

            foreach (var person in persons)
            {
                Console.WriteLine($"FirstName: {person.FirstName}, \tAge: {person.Age}");
            }
        }
コード例 #16
0
        //Напишите запрос LINQ в котором сгрупируйте персонажей по возрасту
        //выведите группы в которых больше одного персонажа

        public static void GroupByInto()
        {
            var characters = PersonsService.GetPersons();

            var groups = from character in characters
                         group character by character.Age into ageGroups
                         where ageGroups.Count() > 1
                         select ageGroups;

            //var groups = characters.GroupBy(x => x.Age).Where(group => group.Count() > 1);

            foreach (var group in groups)
            {
                foreach (var person in group)
                {
                    Console.WriteLine(person.ToString());
                }
            }
        }