public IEnumerable <Airport> ReadAirportList(IEnumerable <string> file) { List <Airport> lstAirport = new List <Airport>(); foreach (var item in file) { String[] split = item.Split(","); String strAirpDestination = ""; String strAirpOrigin = ""; int cost; if (split.Length == 3 && int.TryParse(split[2], out cost)) { strAirpOrigin = split[0]; strAirpDestination = split[1]; } else { throw new Exception($"Formato da linha incorreto - Linha {item}"); } Airport airportOrigin = lstAirport.Find(p => p.name == strAirpOrigin); Airport airportDestination = lstAirport.Find(p => p.name == strAirpDestination); if (airportDestination == null) { airportDestination = new Airport(strAirpDestination); lstAirport.Add(airportDestination); } if (airportOrigin != null) { airportOrigin.AddDestination(airportDestination, cost); } else { airportOrigin = new Airport(strAirpOrigin); airportOrigin.AddDestination(airportDestination, cost); lstAirport.Add(airportOrigin); } } return(lstAirport); }