Описать класс и создать коллекцию типа List - C#
Формулировка задачи:
Описать структуру с именем TRAIN, содержащую следующие поля:
o название пункта назначения;
o номер поезда;
o время отправления.
Написать программу, выполняющую следующие действия:
□ вывод на экран информации о поездах, отправляющихся после введенного с клавиатуры времени (если таких поездов нет, вывести соответствующее сообщение).
Создать коллекцию типа List<T>. При сортировке массива объектов реализовать интерфейс IComparer<T>. При сравнении двух объектов - текущего и переданного ему в качестве параметра реализовать интерфейс IComparable<T>.
В задании предусмотреть возможность изменения динамического массива (добавление, удаление и вставка). Определить емкость массива.
Через ArrayList программу смогла описать, через List уже не могу. Если нужна через ArrayList (чтобы самим долго не писать), могу скинуть.
Основная проблема создания классов сортировки в структуре.
Решение задачи: «Описать класс и создать коллекцию типа List»
textual
Листинг программы
using System;
using System.Collections.Generic;
namespace ConsoleApplication204
{
class Program
{
static void Main(string[] args)
{
var t1 = new Train { Target = "Paris", DepartureTime = new TimeSpan(13, 30, 00), Number = 1 };
var t2 = new Train { Target = "London", DepartureTime = new TimeSpan(10, 10, 00), Number = 2 };
var t3 = new Train { Target = "Madrid", DepartureTime = new TimeSpan(21, 20, 00), Number = 3 };
var trains = new List<Train>();
trains.Add(t1);
trains.Add(t2);
trains.Add(t3);
trains.Sort();
foreach (var t in trains)
Console.WriteLine(t);
Console.ReadLine();
}
}
public struct Train: IComparable<Train>
{
public string Target { get; set; }
public int Number { get; set; }
public TimeSpan DepartureTime { get; set; }
public int CompareTo(Train other)
{
return DepartureTime.CompareTo(other.DepartureTime);
}
public override string ToString()
{
return string.Format("{0} {1}", Target, DepartureTime);
}
}
}