Advertisement
SPavelA

LinqTask2FreeCriminals

Nov 14th, 2024
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.36 KB | Gaming | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace LinqTask2FreeCriminals
  6. {
  7.     internal class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             Prison prison = new Prison();
  12.  
  13.             prison.FreeCriminals("Антиправительственное");
  14.         }
  15.     }
  16.  
  17.     public class Prison
  18.     {
  19.         private List<Criminal> _criminals;
  20.  
  21.         public Prison()
  22.         {
  23.             FillCriminals();
  24.         }
  25.  
  26.         public void FreeCriminals(string crime)
  27.         {
  28.             Console.WriteLine("Список заключенных до амнистии:");
  29.             ShowCriminals();
  30.  
  31.             List<Criminal> filteredCriminals = _criminals.Where(criminal => criminal.Crime != crime).ToList();
  32.  
  33.             _criminals = filteredCriminals;
  34.             Console.WriteLine("Список заключенных после амнистии:");
  35.             ShowCriminals();
  36.         }
  37.  
  38.         private void ShowCriminals()
  39.         {
  40.             Console.WriteLine("Преступники:");
  41.  
  42.             foreach (var criminal in _criminals)
  43.             {
  44.                 criminal.ShowInfo();
  45.             }
  46.         }
  47.  
  48.         private void FillCriminals()
  49.         {
  50.             _criminals = new List<Criminal>
  51.             {
  52.                 new Criminal("gdfsgdfg", "Антиправительственное"),
  53.                 new Criminal("dfsdfsd", "грабеж"),
  54.                 new Criminal("bfgnbfn", "убийство"),
  55.                 new Criminal("bnvncvbn", "Антиправительственное"),
  56.                 new Criminal("gdfxvxcvxcsgdfg", "грабеж"),
  57.                 new Criminal("xcvzxcc", "Антиправительственное"),
  58.                 new Criminal("xvvxv", "грабеж"),
  59.                 new Criminal("nfhnn", "Антиправительственное"),
  60.                 new Criminal("dgdfgdg", "убийство")
  61.             };
  62.         }
  63.     }
  64.  
  65.     public class Criminal
  66.     {
  67.         public Criminal(string name, string crime)
  68.         {
  69.             Name = name;
  70.             Crime = crime;
  71.         }
  72.  
  73.         public string Name { get; private set; }
  74.         public string Crime { get; private set; }
  75.  
  76.         public void ShowInfo()
  77.         {
  78.             Console.WriteLine($"{Name} ({Crime})");
  79.         }
  80.     }
  81. }
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement