From 7421fe4dfd1a8725ba005d73449630301455f2c6 Mon Sep 17 00:00:00 2001 From: Stanislav Mykhailenko Date: Wed, 15 Mar 2023 20:07:52 +0200 Subject: [PATCH] Add Lesson 2 Task 4 --- Lesson_2/Task_4/Program.cs | 67 +++++++++++++++++++++++++++++++++++ Lesson_2/Task_4/Task_4.csproj | 10 ++++++ 2 files changed, 77 insertions(+) create mode 100644 Lesson_2/Task_4/Program.cs create mode 100644 Lesson_2/Task_4/Task_4.csproj diff --git a/Lesson_2/Task_4/Program.cs b/Lesson_2/Task_4/Program.cs new file mode 100644 index 0000000..bbc5647 --- /dev/null +++ b/Lesson_2/Task_4/Program.cs @@ -0,0 +1,67 @@ +/* +* Lesson 2 Task 4: get two collections with cars and their owners and ask car number, then return its owner's name and address +* Author: Stanislav Mykhailenko +* License: Unlicense +*/ + +List owners = new List() +{ + new Owner(1, "Tom", "Street 1"), + new Owner(2, "Bob", "Street 2"), + new Owner(3, "Sam", "Street 3"), +}; + +List cars = new List() +{ + new Car("123ABC", 1), + new Car("456DEF", 2), + new Car("789GHI", 3), +}; + +string? number; + +do +{ + Console.Write("Enter number: "); + number = Console.ReadLine(); +} while (number == null); + +var selected = owners.FirstOrDefault(x => cars.Any(y => y.Number == number && y.OwnerID == x.ID)); + +Console.WriteLine(selected); + +class Owner +{ + public int ID { get;} + public string Name { get;} + public string Address { get;} + + public override string ToString() + { + return "Name: " + Name + ", Address: " + Address; + } + + public Owner(int id, string name, string address) + { + ID = id; + Name = name; + Address = address; + } +} + +class Car +{ + public string Number { get;} + public int OwnerID { get;} + + public override string ToString() + { + return "Number: " + Number + ", Owner ID: " + OwnerID; + } + + public Car(string number, int ownerid) + { + Number = number; + OwnerID = ownerid; + } +} diff --git a/Lesson_2/Task_4/Task_4.csproj b/Lesson_2/Task_4/Task_4.csproj new file mode 100644 index 0000000..f02677b --- /dev/null +++ b/Lesson_2/Task_4/Task_4.csproj @@ -0,0 +1,10 @@ + + + + Exe + net7.0 + enable + enable + + +