Advertisement
Dr_Max_Experience

Task 7

Jul 25th, 2022 (edited)
1,049
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.20 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 ООП
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Proop stock = new Proop(new List<Squad>{
  14.             new Squad("Abc"),
  15.             new Squad("Bcd"),
  16.             new Squad("Cde"),
  17.             new Squad("Def"),
  18.             new Squad("Efg"),
  19.             },
  20.             new List<Squad>{
  21.             new Squad("Tom"),
  22.             new Squad("Bom"),
  23.             new Squad("Som"),
  24.             new Squad("Gom"),
  25.             new Squad("Won"),
  26.             }
  27.             );
  28.  
  29.             stock.Work();
  30.         }
  31.     }
  32.  
  33.     class Squad
  34.     {
  35.         public string Name { get; private set; }
  36.  
  37.         public Squad(string name)
  38.         {
  39.             Name = name;
  40.         }
  41.  
  42.         public void ShowInfo()
  43.         {
  44.             Console.WriteLine(Name);
  45.         }
  46.     }
  47.  
  48.     class Proop
  49.     {
  50.         private List<Squad> _first = new List<Squad>();
  51.  
  52.         private List<Squad> _second = new List<Squad>();
  53.  
  54.         public Proop(List<Squad> first, List<Squad> second)
  55.         {
  56.             _first = first;
  57.             _second = second;
  58.         }
  59.  
  60.         public void Work()
  61.         {
  62.             ShowAll();
  63.             TransferOfSoldiers();
  64.             ShowAll();
  65.  
  66.             Console.ReadKey();
  67.         }
  68.  
  69.         private void ShowInfo(List<Squad> solders)
  70.         {
  71.             foreach (var solder in solders)
  72.             {
  73.                 solder.ShowInfo();
  74.             }
  75.         }
  76.  
  77.         private void TransferOfSoldiers()
  78.         {
  79.             string letter = "B";
  80.  
  81.             var result = _first.Where(solder => solder.Name.StartsWith(letter));
  82.             _second = _second.Union(result).ToList();
  83.             _first = _first.Except(result).ToList();
  84.         }
  85.  
  86.         private void ShowAll()
  87.         {
  88.             Console.WriteLine($"   ===Отряды===\n-Первый отряд-");
  89.             ShowInfo(_first);
  90.             Console.WriteLine($"-Второй отряд-");
  91.             ShowInfo(_second);
  92.             Console.WriteLine($"   ===Конец списка===\n");
  93.         }
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement