Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- public class Program
- {
- public static void Main(string[] args)
- {
- Сourt court = new Сourt();
- court.PrintPrisoners();
- court.FilterPrisoners();
- court.PrintPrisoners();
- }
- }
- public class Сourt
- {
- private Random _random;
- private List<Prisoner> _prisoners;
- private string[] _crimeNames = { "Antigoverment", "Drug trade", "Violent", "Unsaction Escape" };
- private string[] _names = { "Mike", "Nick", "Valera", "Virgil", "Dante" };
- private string _crimeNameLegalized = "Antigoverment";
- private int _amountPrisonersMinimum = 10;
- private int _amountPrisonersMaximum = 50;
- public Сourt()
- {
- _prisoners = new List<Prisoner>();
- _random = new Random();
- CreatePrisoners();
- }
- public void PrintPrisoners()
- {
- Console.WriteLine();
- foreach (Prisoner prisoner in _prisoners)
- Console.WriteLine(prisoner);
- }
- public void FilterPrisoners()
- {
- _prisoners = _prisoners.Where(prisoner => !prisoner.CrimeName.Equals(_crimeNameLegalized)).ToList();
- }
- private void CreatePrisoners()
- {
- int amountCriminals = _random.Next(_amountPrisonersMinimum, _amountPrisonersMaximum);
- string name;
- string crimeName;
- for (int i = 0; i < amountCriminals; ++i)
- {
- name = _names[_random.Next(_names.Length)];
- crimeName = _crimeNames[_random.Next(_crimeNames.Length)];
- _prisoners.Add(new Prisoner(name, crimeName));
- }
- _prisoners.OrderBy(prisoner => prisoner.CrimeName);
- }
- }
- public class Prisoner
- {
- public string Name { get; private set; }
- public string CrimeName { get; private set; }
- public Prisoner(string name, string crimeName)
- {
- Name = name;
- CrimeName = crimeName;
- }
- public override string ToString()
- {
- string result = "";
- result += String.Format($"{Name} - {CrimeName}");
- return result;
- }
- }
Add Comment
Please, Sign In to add comment