Advertisement
elena1234

Work with DateTime

Apr 6th, 2021 (edited)
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.93 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Globalization;
  4. using System.Linq;
  5.  
  6. namespace BirthdayCelebrations
  7. {
  8.     public class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             var all = new Dictionary<DateTime, IBirthable>();
  13.  
  14.             string input;
  15.             while ((input = Console.ReadLine()) != "End")
  16.             {
  17.                 string[] inputArray = input.Split();              
  18.                 if (inputArray.Contains("Citizen"))
  19.                 {
  20.                     string name = inputArray[1];
  21.                     int age = int.Parse(inputArray[2]);
  22.                     string id = inputArray[3];
  23.                     DateTime birthday = DateTime.ParseExact(inputArray[4], "dd/MM/yyyy", CultureInfo.InvariantCulture);
  24.                     IBirthable newCitizen = new Citizen(name, age, id, birthday);
  25.                     all.Add(newCitizen.Birthdate, newCitizen);
  26.                 }
  27.  
  28.                 else if (inputArray.Contains("Pet"))
  29.                 {
  30.                     string name = inputArray[1];
  31.                     DateTime birthday = DateTime.Parse(inputArray[2]);
  32.                     IBirthable newPet = new Pet(name, birthday);
  33.                     all.Add(newPet.Birthdate, newPet);
  34.                 }
  35.             }
  36.  
  37.             int specificYear = int.Parse(Console.ReadLine());
  38.             var listIBirthableWithSpecificDate = all.Where(x => x.Key.Year == specificYear)
  39.                                                     .Select(x => x.Value.Birthdate)
  40.                                                     .ToList();
  41.  
  42.             if(listIBirthableWithSpecificDate.Count == 0)
  43.             {
  44.                 Console.WriteLine("<empty output>");
  45.             }
  46.  
  47.             foreach (var birthdayDate in listIBirthableWithSpecificDate)
  48.             {
  49.                 Console.WriteLine(birthdayDate.ToString("dd\\/MM\\/yyyy"));
  50.             }
  51.         }
  52.     }
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement