Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Ijunior
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Inspector inspector = new Inspector();
- inspector.Work();
- }
- }
- class Inspector
- {
- private Database _database = new Database();
- public void Work()
- {
- Console.WriteLine("Полный список:\n");
- _database.ShowInfo();
- Console.WriteLine("\n\nСписок из имен и званий:\n");
- SortSoldiers();
- }
- private void SortSoldiers()
- {
- var sortedSoldiers = _database.Soldiers.Select(soldier => new {Name = soldier.Name, Rank = soldier.Rank}).ToList();
- foreach (var soldier in sortedSoldiers)
- {
- Console.WriteLine($"{soldier.Name} - звание {soldier.Rank}");
- }
- }
- }
- class Database
- {
- private List<Soldier> _soldiers;
- public Database()
- {
- _soldiers = new List<Soldier>();
- AddSoldiers();
- }
- public List<Soldier> Soldiers => _soldiers.ToList();
- public void ShowInfo()
- {
- foreach (Soldier soldier in _soldiers)
- {
- Console.WriteLine($"{soldier.Name} - звание {soldier.Rank}, оружиие {soldier.Weapon}, {soldier.ServiceLife} месяцев слыжбы");
- }
- }
- private void AddSoldiers()
- {
- _soldiers.Add(new Soldier("Александров", "Рядовой", "Автомат", GenerateServiceLife()));
- _soldiers.Add(new Soldier("Борисов", "Рядовой", "Автомат", GenerateServiceLife()));
- _soldiers.Add(new Soldier("Васильев", "Рядовой", "Автомат", GenerateServiceLife()));
- _soldiers.Add(new Soldier("Гусев", "Рядовой", "Автомат", GenerateServiceLife()));
- _soldiers.Add(new Soldier("Дмитриев", "Сержант", "Пулемет", GenerateServiceLife()));
- _soldiers.Add(new Soldier("Егоров", "Сержант", "Пулемет", GenerateServiceLife()));
- _soldiers.Add(new Soldier("Кузнецов", "Капитан", "Дробовик", GenerateServiceLife()));
- _soldiers.Add(new Soldier("Лебедев", "Капитан", "Дробовик", GenerateServiceLife()));
- _soldiers.Add(new Soldier("Павлов", "Генерал", "Револьвер", GenerateServiceLife()));
- }
- private int GenerateServiceLife()
- {
- int minServiceLife = 6;
- int maxServiceLife = 13;
- return Utils.GetRandomNumber(minServiceLife, maxServiceLife);
- }
- }
- class Soldier
- {
- public Soldier(string name, string rank, string weapon, int serviceLife)
- {
- Name = name;
- Rank = rank;
- Weapon = weapon;
- ServiceLife = serviceLife;
- }
- public string Name { get; }
- public string Rank { get; }
- public string Weapon { get; }
- public int ServiceLife { get; }
- }
- class Utils
- {
- private static Random s_random = new Random();
- public static int GetRandomNumber(int minValue, int maxValue)
- {
- return s_random.Next(minValue, maxValue);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment