using System.Collections.Generic;
public static void Main()
List<Ticket> tickets = new List<Ticket>() {
new Ticket("San Jose", "Aeropuerto JSM", "Bus", new DateTime(2020, 10, 10, 12, 00, 00)),
new Ticket("Aeropuerto New York", "Aeropuerto Madrid", "Avion", new DateTime(2020, 10, 10, 22, 00, 00), "24B", "30C", "MD124"),
new Ticket("Cartago", "San Jose", "Tren", new DateTime(2020, 10, 10, 10, 30, 00), "32A"),
new Ticket("Aeropuerto JSM", "Aeropuerto New York", "Avion", new DateTime(2020, 10, 10, 14, 30, 00), "10A", "15B", "NY-15")
tickets.ForEach(r => Console.WriteLine(r.ToString()));
var sortedList = sortTickets(tickets);
sortedList.ForEach(r => Console.WriteLine(r.ToString()));
public static List<Ticket> sortTickets(List<Ticket> tickets) {
return tickets.OrderBy(r => r.BoardingTime).ToList();
public Ticket(string from, string to, string meanOfTransport, DateTime boardingTime,string seat=null, string gate=null, string transportId=null) {
MeanOfTransport= meanOfTransport;
BoardingTime= boardingTime;
TransportId= transportId;
public string From {get; set;}
public string To {get;set;}
public string Seat {get;set;}
public string MeanOfTransport {get;set;}
public string Gate {get;set;}
public DateTime BoardingTime {get;set;}
public string TransportId {get;set;}
public override string ToString(){
return MeanOfTransport + " " + From + "-" + To + (Seat == null ? ", No Asiento " : ", Asiento: " + Seat) + (Gate == null ? ", No Asiento" : ", Asiento: " + Gate)
+ ", Fecha de abordaje: " + BoardingTime.ToString("dd/MM/yyyy HH:mm");