Advertisement
Guest User

Group by Group - Advanced C#

a guest
Jun 17th, 2016
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.16 KB | None | 0 0
  1. namespace _10.GroupByGroup
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.     using System.Linq;
  6.  
  7.     public class GroupByGroup
  8.     {
  9.         public static void Main()
  10.         {
  11.             var persons = new List<Person>();
  12.             while (true)
  13.             {
  14.                 var arguments = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
  15.                 if (arguments[0] == "END")
  16.                 {
  17.                     break;
  18.                 }
  19.                 var person = new Person
  20.                 {
  21.                     Name = arguments[0]+' '+arguments[1],
  22.                     Group = int.Parse(arguments[2])
  23.                 };
  24.  
  25.                 persons.Add(person);
  26.             }
  27.  
  28.             var groups = persons.GroupBy(person=>person.Group, person => person.Name);
  29.             foreach (var group in groups.OrderBy(g=>g.Key))
  30.             {
  31.                 Console.WriteLine($"{group.Key} - {string.Join(", ", group)}");
  32.             }
  33.         }
  34.  
  35.         private class Person
  36.         {
  37.             public string Name { get; set; }
  38.  
  39.             public int Group { get; set; }
  40.         }
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement