Torgach

UnificationTroops2

Jun 14th, 2021 (edited)
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.36 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace UnificationTroops
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Menu menu = new Menu();
  14.             menu.Run();
  15.         }
  16.     }
  17.  
  18.     class Menu
  19.     {
  20.         private List<Soldier> _southSquad;
  21.         private List<Soldier> _northSquad;
  22.  
  23.         public Menu()
  24.         {
  25.             _southSquad = new List<Soldier>()
  26.             {
  27.                 new Soldier("Bobler"),
  28.                 new Soldier("Alex"),
  29.                 new Soldier("B.Magnum"),
  30.                 new Soldier("Lokar")
  31.             };
  32.  
  33.             _northSquad = new List<Soldier>()
  34.             {
  35.                 new Soldier("Trader"),
  36.                 new Soldier("BorWarden"),
  37.                 new Soldier("Lukan"),
  38.                 new Soldier("Borry")
  39.             };
  40.         }
  41.  
  42.         public void Run()
  43.         {
  44.             bool isRun = true;
  45.  
  46.             while (isRun)
  47.             {
  48.                 Console.WriteLine();
  49.                 ShowSquad(_southSquad);
  50.                 Console.WriteLine();
  51.                 ShowSquad(_northSquad);
  52.  
  53.                 Console.WriteLine("\n1)Объединить и вывести солдат\n" +
  54.                     "2)Выход");
  55.                 Console.Write("Ввод: ");
  56.  
  57.                 switch (Console.ReadLine())
  58.                 {
  59.                     case "1":
  60.                         TransferSoldiers();
  61.                         break;
  62.                     case "2":
  63.                         isRun = false;
  64.                         break;
  65.                 }
  66.             }
  67.         }
  68.  
  69.         private void TransferSoldiers()
  70.         {
  71.             var tempNorthSquad = _northSquad.Where(soldier => soldier.Name.StartsWith("B"));
  72.  
  73.             _northSquad = _northSquad.Except(tempNorthSquad).ToList();
  74.  
  75.             _southSquad = _southSquad.Union(tempNorthSquad).ToList();
  76.         }
  77.  
  78.         private void ShowSquad(List<Soldier> soldiers)
  79.         {
  80.             foreach (var soldier in soldiers)
  81.             {
  82.                 Console.WriteLine(soldier.Name);
  83.             }
  84.         }
  85.     }
  86.  
  87.     class Soldier
  88.     {
  89.         public string Name { get; private set; }
  90.  
  91.         public Soldier(string name)
  92.         {
  93.             Name = name;
  94.         }
  95.     }
  96. }
Add Comment
Please, Sign In to add comment