private static void CollectLines() { int lid = 0; foreach (SubwayLine sl in subwayMap.Lines) { LineStations.Add(new List <int>()); LineId[sl.Name] = lid; int lastStationId = -1; foreach (string stationName in sl.Path) { int sid = StationId[stationName]; LineStations[lid].Add(sid); if (!StationLines[sid].Contains(lid)) { StationLines[sid].Add(lid); } if (lastStationId != -1) { RouteSet.Add(new Tuple <int, int>(lastStationId, sid)); RouteSet.Add(new Tuple <int, int>(sid, lastStationId)); } lastStationId = sid; } lid++; } }
/// <summary> /// Override the ToString. /// </summary> /// <returns>Information of the line's code and first and last station</returns> public override string ToString() { string str = "Line " + LineNumber.ToString() + ": "; str += "\nFirst station: " + LineStations.First <LineStation>().ToString(); str += "\nLast station: " + LineStations.Last <LineStation>().ToString(); return(str); }