Cawa245

Untitled

Jan 18th, 2021
532
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace ConsoleApp1
  5. {
  6.     public class Teacher
  7.     {
  8.         //Фамилия
  9.         public string Surname;
  10.         //Кафедра
  11.         public string Chair;
  12.         //свойства
  13.         private int _number;
  14.         private int _date;
  15.         public int Number
  16.         {
  17.             get => _number;
  18.             //Только 0 или больше(положительные)
  19.             set => _number = value > 0 ? value : 0;
  20.         }
  21.  
  22.         private int Date
  23.         {
  24.             get => _date;
  25.             //Дата только 1965 или больше
  26.             set => _date= value >= 1965 ? value : 1965;
  27.         }
  28.  
  29.         public int Experience()
  30.         {
  31.             //Берет текущий год и вычитает дату поступления
  32.             return int.Parse(DateTime.Now.ToShortDateString().Split("/").Last()) - Date;
  33.         }
  34.  
  35.         public void Print()
  36.         {
  37.             //Просто пишет все поля
  38.             Console.WriteLine($"Учитель: {Surname}, занимающий должность на кафедре: {Chair}, дата начала обучения: {Date}, номер: {Number}, стаж: {Experience()}");
  39.         }
  40.        
  41.         public static bool operator >(Teacher first, Teacher second)
  42.         {
  43.             //Сравнивает 1 и 2 строку и если значение 1 ко 2 меньше(или равно), то значит 1 строка предшествует в лексиграфической сортировке
  44.             return string.Compare(first.Chair, second.Chair, StringComparison.InvariantCulture) <= 0;
  45.         }
  46.         public static bool operator <(Teacher first, Teacher second)
  47.         {
  48.             //Тоже что и выше, ток наоборот
  49.             return string.Compare(first.Chair, second.Chair, StringComparison.InvariantCulture) >= 0;
  50.         }
  51.     }
  52. }
RAW Paste Data