Skip to content

Instantly share code, notes, and snippets.

@ShamilAitov
Last active August 10, 2023 22:13
Show Gist options
  • Save ShamilAitov/ded98b626a49615ec29c89ac65626dfa to your computer and use it in GitHub Desktop.
Save ShamilAitov/ded98b626a49615ec29c89ac65626dfa to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.Linq;
namespace LINQ8Задание
{
internal class Program
{
static void Main(string[] args)
{
MilitaryProgram militaryProgram = new MilitaryProgram();
militaryProgram.Play();
}
}
class MilitaryProgram
{
private List<Soldier> _firstSoldiers = new List<Soldier>();
private List<Soldier> _secondSoldiers = new List<Soldier>();
public MilitaryProgram()
{
FillSoldiers();
}
public void Play()
{
string capitalLetterName = "Б";
_secondSoldiers = _secondSoldiers.Union(_firstSoldiers.Where(Soldier => Soldier.Name.ToUpper().StartsWith(capitalLetterName))).ToList();
_firstSoldiers = _firstSoldiers.Except(_secondSoldiers).ToList();
foreach (var soldier in _secondSoldiers)
{
soldier.ShowInfo();
}
}
private void FillSoldiers()
{
_firstSoldiers.Add(new Soldier("Берфорт", "Автомат", "Лейтинант", 12));
_firstSoldiers.Add(new Soldier("Адриан", "Пистолет", "Майор", 66));
_firstSoldiers.Add(new Soldier("Арчибальд", "Пулемет", "Старлей", 18));
_firstSoldiers.Add(new Soldier("Бруно", "Базука", "Капитан", 36));
_firstSoldiers.Add(new Soldier("Генри", "Пулемет", "Полковник", 110));
_firstSoldiers.Add(new Soldier("Киллиан", "Автомат", "Генерал", 180));
_secondSoldiers.Add(new Soldier("Аберфорт", "Автомат", "Лейтинант", 18));
_secondSoldiers.Add(new Soldier("Адриан", "Пистолет", "Майор", 67));
_secondSoldiers.Add(new Soldier("Арчибальд", "Пулемет", "Старлей", 19));
_secondSoldiers.Add(new Soldier("Друно", "Базука", "Капитан", 37));
_secondSoldiers.Add(new Soldier("Бенри", "Пулемет", "Полковник", 111));
_secondSoldiers.Add(new Soldier("Биллиан", "Автомат", "Генерал", 181));
}
}
class Soldier
{
public Soldier(string name, string armament, string title, int serviceLife)
{
Name = name;
Armament = armament;
Title = title;
ServiceLife = serviceLife;
}
public string Name { get; private set; }
public string Armament { get; private set; }
public string Title { get; private set; }
public int ServiceLife { get; private set; }
public void ShowInfo()
{
Console.WriteLine($"{Name}: Вооружение({Armament}), Звание ({Title}), Стаж - ({ServiceLife} м.)");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment