Advertisement
MaoChessy

Task 44 -fix

Nov 24th, 2020
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace LinqTrain
  6. {
  7.     class Program
  8.     {
  9.         public static void Main()
  10.         {
  11.             List<Soldier> soldiers = new List<Soldier>();
  12.             Console.WriteLine("Вывод до проекции");
  13.             for (int i = 0; i < 10; i++)
  14.             {
  15.                 soldiers.Add(new Soldier());
  16.                 Console.WriteLine(soldiers[i].GetInfo());
  17.             }
  18.             Console.ReadKey();
  19.  
  20.             Console.Clear();
  21.             var soldiersData = soldiers.Select(soldier => new
  22.             {
  23.                 Name = soldier.Name,
  24.                 Rank = soldier.Rank
  25.             });
  26.             Console.WriteLine("Вывод после проекции");
  27.             foreach (var item in soldiersData)
  28.             {
  29.                 Console.WriteLine($"{item.Name} - {item.Rank}");
  30.             }
  31.             Console.ReadKey();
  32.         }
  33.     }
  34.     public static class RandomStatic
  35.     {
  36.         static private Random _rand = new Random();
  37.         static public int GetNext(int min, int max)
  38.         {
  39.             return _rand.Next(min, max);
  40.         }
  41.     }
  42.     public static class GeneratorName
  43.     {
  44.         public static string CreateName()
  45.         {
  46.             string result = "";
  47.             int length = RandomStatic.GetNext(3, 10);
  48.             for (int i = 0; i < length; i++)
  49.             {
  50.                 result += (char)RandomStatic.GetNext('A', 'Z' + 1);
  51.             }
  52.             return result;
  53.         }
  54.     }
  55.     class Soldier
  56.     {
  57.         public string Name { get; private set; }
  58.         public string Weapon { get; private set; }
  59.         public string Rank { get; private set; }
  60.         public int WorkTime { get; private set; }
  61.         public Soldier()
  62.         {
  63.             Name = GeneratorName.CreateName();
  64.             Weapon = new string[] { "Пистолет", "Автомат", "Винтовка" }[RandomStatic.GetNext(0, 3)];
  65.             Rank = new string[] { "Рядовой", "Сержант", "Прапор" }[RandomStatic.GetNext(0, 3)];
  66.             WorkTime = RandomStatic.GetNext(0, 13);
  67.         }
  68.         public string GetInfo()
  69.         {
  70.             return $"{Name} - {Weapon} - {Rank} - {WorkTime} месяцев";
  71.         }
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement