Вывод и добавление информации в list

Есть list в котором хранятся данные о расписании поездов на сегодняшний день: Номер поезда (numberTrain) Маршрут (route) Время прибытия на станцию (arrivalTime) Время отбытия (deparuteTime)

По введённому времени (часы, минуты) определить какие поезда находятся на станции (прибыли на станцию (arrivalTime))

Нужно сделать вывод информации, добавление информации и ввод времени для отображение информации тех поездов которые находятся на станции в это время.

case1 Я сделал вывод уже существующей информации (case1), но при отображении информации выводится вся дата, я хочу чтобы выводились только ЧАСЫ и МИНУТЫ.

case2 Тут у меня добавление информации. Я хочу чтобы добавлении информации она сохранялась в case1 и когда я буду выводить снова case1, то в конце списка будет добавленная информация. У меня не получается это сделать, даже не сохраняется информация просто при выводе.

case3 Тут нужно в консоле ввести время, вводим время и отображается только те поезда которые уже находятся на станции. Так же не знаю как это сделать.

Объясните доступным для новичка языком что нужно сделать или покажите пример. Вот код:

string repeat;
const string menu = "menu";
do
{
    Console.WriteLine("1. Вывод информации\n2. Добавить информацию\n3. Ввести время\n\n");
    int selectCase = int.Parse(Console.ReadLine());

    switch (selectCase)
    {
        case 1:
            case1();
            break;

        case 2:
            case2();
            break;
        case 3:
            case3();
            break;
    }
    Console.WriteLine("***Открыть меню - menu***\n***Выйти - exit***");
    repeat = Console.ReadLine();
    Console.Clear();
} while (repeat.Equals(menu, StringComparison.OrdinalIgnoreCase));

void case1()
{
    List<TimeTable> timetable = new List<TimeTable>();
    timetable.Add(new TimeTable
    {
        numberTrain = 34,
        route = "МСК-СПБ",
        arrivalTime = new DateTime(2015, 02, 02, 13, 00, 00),
        deparuteTime = new DateTime(2014, 03, 03, 13, 30, 00)
    });
    timetable.Add(new TimeTable
    {
        numberTrain = 23,
        route = "МСК-Киров",
        arrivalTime = new DateTime(2022, 02, 02, 14, 00, 00),
        deparuteTime = new DateTime(2021, 03, 03, 14, 30, 00)
    });
    timetable.Add(new TimeTable
    {
        numberTrain = 23,
        route = "МСК-Казань",
        arrivalTime = new DateTime(2022, 02, 02, 15, 00, 00),
        deparuteTime = new DateTime(2021, 03, 03, 14, 30, 00)
    });

    foreach (var TBcase1 in timetable)
    {
        Console.WriteLine($"\tНомер поезда: {TBcase1.numberTrain}\nМаршрут: {TBcase1.route}\nПрибытие: {TBcase1.arrivalTime}\nОтправление: {TBcase1.deparuteTime}\n\n");
    }
}

void case2()
{
    Console.WriteLine("Введите кол-во поездов: ");
    int countTrain = int.Parse(Console.ReadLine());

    List<TimeTable> timetable = new List<TimeTable>();

    for (int i = 0; i < countTrain; i++)
    {
        TimeTable newTimeTable = new TimeTable();

        Console.WriteLine($"Введите информацию о {i + 1} поезде");
        Console.Write("Номер поезда: ");
        int numberTrain = int.Parse(Console.ReadLine());
        Console.Write("Маршрут: ");
        string route = Console.ReadLine();
        Console.Write("Время прибытия: ");
        DateTime arrivalTime = DateTime.Parse(Console.ReadLine());
        Console.Write("Время отбытия: ");
        DateTime deparuteTime = DateTime.Parse(Console.ReadLine());

        timetable.Add(newTimeTable);
    }

    foreach (TimeTable ftimetable in timetable)
    {
        Console.WriteLine($"\tНомер поезда: {ftimetable.numberTrain}\nМаршрут: {ftimetable.route}\nПрибытие: {ftimetable.arrivalTime}\nОтправление: {ftimetable.deparuteTime}\n\n");
    }
}

void case3()
{
    Console.WriteLine("Время: ");
    DateTime time = DateTime.Parse(Console.ReadLine());

    Console.WriteLine(time.ToString("\tПоезда находящиеся на станции : \n\n"));
}

struct TimeTable
{
    public int numberTrain { get; set; }
    public string route { get; set; }
    public DateTime arrivalTime { get; set; }
    public DateTime deparuteTime { get; set; }
}

Ответы (0 шт):