Advertisement
SPavelA

LinqTask7SoldiersTransfer

Nov 14th, 2024
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.80 KB | Gaming | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace LinqTask7SoldiersTransfer
  6. {
  7.     internal class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             Army army = new Army();
  12.  
  13.             army.TransferSoldiers("Б");
  14.         }
  15.     }
  16.  
  17.     public class Army
  18.     {
  19.         private List<Soldier> _soldiers1;
  20.         private List<Soldier> _soldiers2;
  21.  
  22.         public Army()
  23.         {
  24.             FillSoldiers();
  25.         }
  26.  
  27.         public void TransferSoldiers(string firstCharacter)
  28.         {
  29.             Console.WriteLine("Первый отряд до перевода:");
  30.             ShowSoldiers(_soldiers1);
  31.             Console.WriteLine("\nВторой отряд до перевода:");
  32.             ShowSoldiers(_soldiers2);
  33.  
  34.             List<Soldier> soldiersToTransfer = _soldiers1.Where(soldier => soldier.Surname.StartsWith(firstCharacter)).ToList();
  35.  
  36.             _soldiers1 = _soldiers1.Except(soldiersToTransfer).ToList();
  37.             _soldiers2 = _soldiers2.Union(soldiersToTransfer).ToList();
  38.             Console.WriteLine("\nПервый отряд после перевода:");
  39.             ShowSoldiers(_soldiers1);
  40.             Console.WriteLine("\nВторой отряд после перевода:");
  41.             ShowSoldiers(_soldiers2);
  42.             Console.WriteLine();
  43.         }
  44.  
  45.         public void ShowSoldiers(List<Soldier> soldiers)
  46.         {
  47.             foreach (var soldier in soldiers)
  48.             {
  49.                 soldier.ShowInfo();
  50.             }
  51.         }
  52.  
  53.         private void FillSoldiers()
  54.         {
  55.             _soldiers1 = new List<Soldier>
  56.             {
  57.                 new Soldier("Вася", "Пупкин"),
  58.                 new Soldier("Петя", "Булкин"),
  59.                 new Soldier("Дима", "Кашкин"),
  60.                 new Soldier("Леша", "Бубен"),
  61.                 new Soldier("Коля", "Зяблик"),
  62.                 new Soldier("Гена", "Гейтс")
  63.             };
  64.             _soldiers2 = new List<Soldier>
  65.             {
  66.                 new Soldier("Вася", "Жабкин"),
  67.                 new Soldier("Петя", "Перкин"),
  68.                 new Soldier("Дима", "Дудин"),
  69.                 new Soldier("Леша", "Хавен"),
  70.                 new Soldier("Коля", "Костин"),
  71.                 new Soldier("Гена", "Маск")
  72.             };
  73.         }
  74.     }
  75.  
  76.     public class Soldier
  77.     {
  78.         private string _name;
  79.  
  80.         public Soldier(string name, string surname)
  81.         {
  82.             _name = name;
  83.             Surname = surname;
  84.         }
  85.  
  86.         public string Surname { get; private set; }
  87.  
  88.         public void ShowInfo()
  89.         {
  90.             Console.WriteLine($"{Surname} {_name}");
  91.         }
  92.     }
  93. }
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement