Advertisement
SPavelA

LinqTask6SoldiersNames

Nov 14th, 2024 (edited)
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.43 KB | Gaming | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace LinqTask6SoldiersNames
  6. {
  7.     internal class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             Army army = new Army();
  12.  
  13.             army.ShowNamesPositions();
  14.         }
  15.     }
  16.  
  17.     public class Army
  18.     {
  19.         private List <Soldier> _soldiers;
  20.  
  21.         public Army()
  22.         {
  23.             FillSoldiers();
  24.         }
  25.  
  26.         public void ShowNamesPositions()
  27.         {
  28.             Console.WriteLine("Полный список информации о солдатах:");
  29.             ShowAllSoldiers();
  30.             Console.WriteLine("\nСписок имен и занимаемых должностей:");
  31.  
  32.             var namesPositions = _soldiers.Select(soldier => new { Name = soldier.Name, Position = soldier.Position });
  33.  
  34.             foreach (var namePosition in namesPositions)
  35.             {
  36.                 Console.WriteLine($"{namePosition.Name} - {namePosition.Position}");
  37.             }
  38.         }
  39.  
  40.         public void ShowAllSoldiers()
  41.         {
  42.             foreach (var soldier in _soldiers)
  43.             {
  44.                 soldier.ShowInfo();
  45.             }
  46.         }
  47.  
  48.         private void FillSoldiers()
  49.         {
  50.             _soldiers = new List<Soldier>
  51.             {
  52.                 new Soldier("Вася", "рядовой", "пистолет", 10),
  53.                 new Soldier("Петя", "рядовой", "узи", 5),
  54.                 new Soldier("Дима", "лейтенант", "топор", 15),
  55.                 new Soldier("Леша", "ефрейтор", "половник", 20),
  56.                 new Soldier("Коля", "полковник", "зубная щетка", 25),
  57.                 new Soldier("Гена", "генерал", "рупор", 30)
  58.             };
  59.         }
  60.     }
  61.  
  62.     public class Soldier
  63.     {
  64.         private string _weapon;
  65.         private int _workTime;
  66.  
  67.         public Soldier(string name, string position, string weapon, int workTime)
  68.         {
  69.             Name = name;
  70.             Position = position;
  71.             _weapon = weapon;
  72.             _workTime = workTime;
  73.         }
  74.  
  75.         public string Name { get; private set; }
  76.         public string Position { get; private set; }
  77.  
  78.         public void ShowInfo()
  79.         {
  80.             Console.WriteLine($"{Name} - {Position}, служит {_workTime} месяцев и носит {_weapon}");
  81.         }
  82.     }
  83. }
  84.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement