SaNik74

Transfer_of_fighters

Oct 2nd, 2024 (edited)
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.41 KB | None | 0 0
  1. namespace Transfer_of_fighters
  2. {
  3.     internal class Program
  4.     {
  5.         static void Main(string[] args)
  6.         {
  7.             Barracks barracks = new Barracks();
  8.  
  9.             barracks.ShowSoldersInAllSquads();
  10.  
  11.             barracks.TransefSolders();
  12.  
  13.             barracks.ShowSoldersInAllSquads();
  14.         }
  15.     }
  16.  
  17.     class Solder
  18.     {
  19.         public Solder(string secondNname)
  20.         {
  21.             SecondName = secondNname;
  22.         }
  23.  
  24.         public string SecondName { get; private set; }
  25.     }
  26.  
  27.     class Barracks
  28.     {
  29.         private List<Solder> _assaultSquad = new List<Solder>();
  30.         private List<Solder> _defensiveSquad = new List<Solder>();
  31.  
  32.         public Barracks()
  33.         {
  34.             _assaultSquad.Add(new Solder("Иванов"));
  35.             _assaultSquad.Add(new Solder("Мартьянов"));
  36.             _assaultSquad.Add(new Solder("Белов"));
  37.             _assaultSquad.Add(new Solder("Кравцов"));
  38.             _assaultSquad.Add(new Solder("Белобров"));
  39.             _assaultSquad.Add(new Solder("Царев"));
  40.  
  41.             _defensiveSquad.Add(new Solder("Петров"));
  42.             _defensiveSquad.Add(new Solder("Бакуров"));
  43.             _defensiveSquad.Add(new Solder("Богданов"));
  44.             _defensiveSquad.Add(new Solder("Саликов"));
  45.             _defensiveSquad.Add(new Solder("Комаров"));
  46.         }
  47.  
  48.         public void ShowSoldersInAllSquads()
  49.         {
  50.             Console.WriteLine("Бойцы наступательного отряда:\n");
  51.  
  52.             ShowSolders(_assaultSquad);
  53.  
  54.             Console.WriteLine("\nБойцы оборонительного отряда:\n");
  55.  
  56.             ShowSolders(_defensiveSquad);
  57.         }
  58.  
  59.         public void TransefSolders()
  60.         {
  61.             char firsLetterSecondName = 'Б';
  62.  
  63.             _defensiveSquad = _defensiveSquad.Concat(_assaultSquad.Where(solder => solder.SecondName[0] == firsLetterSecondName)).ToList();
  64.  
  65.             _assaultSquad = _assaultSquad.OrderBy(solder => solder.SecondName)
  66.                             .SkipWhile(solder => solder.SecondName[0] == firsLetterSecondName).ToList();
  67.         }
  68.  
  69.         private void ShowSolders(List<Solder> solders)
  70.         {
  71.             foreach (Solder solder in solders)
  72.             {
  73.                 Console.WriteLine($"Фамилия - {solder.SecondName}");
  74.             }
  75.         }
  76.     }
  77. }
  78.  
Advertisement
Add Comment
Please, Sign In to add comment