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); } } } }
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); } }
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()); } }
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()); } }
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()); } }
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()); } }
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()); } }
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()); } }
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()); } }
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); } }
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()); } }
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()); } }
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()); } } }
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()); } } }
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}"); } }
//Напишите запрос 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()); } } }