Как работает group by? - C#

Узнай цену своей работы

Формулировка задачи:

Как работает group by тут? Объясните код пожалуйста)
Листинг программы
  1. namespace consoleApp
  2. {
  3. public class Program
  4. {
  5. static void Main(string[] args)
  6. {
  7. var participants = GetAll().ToList();
  8. var result = participants.GroupBy(p => p.Gender).Select(g => new { Gender = g.Key, Participants = g.OrderBy(p => p.Time).Take(3) });
  9. foreach (var group in result)
  10. {
  11. Console.WriteLine(group.Gender);
  12. foreach (var participant in group.Participants)
  13. {
  14. Console.WriteLine(participant.ToString());
  15. Console.ReadLine();
  16. }
  17. }
  18. }
  19. public static Participant[] GetAll()
  20. {
  21. return new Participant[]{
  22. new Participant("Alex", "g1", Sex.Male, TimeSpan.FromSeconds(67)),
  23. new Participant("Mark", "g2", Sex.Male, TimeSpan.FromSeconds(98)),
  24. new Participant("Ann", "g3", Sex.Female, TimeSpan.FromSeconds(123)),
  25. new Participant("Kate", "g2", Sex.Female, TimeSpan.FromSeconds(75)),
  26. new Participant("Peter", "g3", Sex.Male, TimeSpan.FromSeconds(69)),
  27. };
  28. }
  29. }
  30. public struct Participant
  31. {
  32. public string Surname;
  33. public string Group;
  34. public Sex Gender;
  35. public TimeSpan Time;
  36. public Participant(string surname, string group, Sex gender, TimeSpan time)
  37. {
  38. Surname = surname;
  39. Group = group;
  40. Gender = gender;
  41. Time = time;
  42. }
  43. public override string ToString()
  44. {
  45. return $"{Surname} {Group} {Gender} {Time}";
  46. }
  47. }
  48. public enum Sex { Male = 1, Female = 2 };
  49. }
Объясните как это работает? " var participants = GetAll().ToList(); var result = participants.GroupBy(p => p.Gender).Select(g => new { Gender = g.Key, Participants = g.OrderBy(p => p.Time).Take(3) });"

Решение задачи: «Как работает group by?»

textual
Листинг программы
  1. var participants = GetAll().ToList();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.444 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут