private static readonly Regex CitySpaceState = new Regex(@"\s*(.+)\s+([A-Za-z]{2})\s*"); // Only supports two letter state codes for now

        #endregion Fields

        #region Constructors

        static CityList()
        {
            IEnumerable<string> entries = Properties.Resources.CityGeocodes.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries);
            foreach (var entry in entries)
            {
                var parts = entry.Split(',').Select(part => part.Trim('"')).ToList();
                // This is in the form longitude, latitude
                var city = new City(parts[0], new State(parts[1]), new Geocode(double.Parse(parts[3]), double.Parse(parts[2])));
                CityLookup[new KeyValuePair<string, string>(city.Name, city.State.Abbreviation)] = city;
                Cities.Add(city);
            }
        }
 public Address GetAddressFromCity(City city)
 {
     var address = CityStateLookup[city];
     return new Address(address.StreetAddress, address.City.Name, address.State.Name,
         address.ZipCode.Code, address.County.Name, address.City.Geocode);
 }