|
| 1 | +using System.Text.Json.Serialization; |
| 2 | + |
| 3 | +[JsonConverter(typeof(JsonStringEnumConverter<UsCity>))] |
| 4 | +public enum UsCity |
| 5 | +{ |
| 6 | + [JsonStringEnumMemberName("Albuquerque, NM")] AlbuquerqueNM, |
| 7 | + [JsonStringEnumMemberName("Atlanta, GA")] AtlantaGA, |
| 8 | + [JsonStringEnumMemberName("Austin, TX")] AustinTX, |
| 9 | + [JsonStringEnumMemberName("Boston, MA")] BostonMA, |
| 10 | + [JsonStringEnumMemberName("Charlotte, NC")] CharlotteNC, |
| 11 | + [JsonStringEnumMemberName("Chicago, IL")] ChicagoIL, |
| 12 | + [JsonStringEnumMemberName("Dallas, TX")] DallasTX, |
| 13 | + [JsonStringEnumMemberName("Denver, CO")] DenverCO, |
| 14 | + [JsonStringEnumMemberName("Houston, TX")] HoustonTX, |
| 15 | + [JsonStringEnumMemberName("Indianapolis, IN")] IndianapolisIN, |
| 16 | + [JsonStringEnumMemberName("Las Vegas, NV")] LasVegasNV, |
| 17 | + [JsonStringEnumMemberName("Los Angeles, CA")] LosAngelesCA, |
| 18 | + [JsonStringEnumMemberName("Miami, FL")] MiamiFL, |
| 19 | + [JsonStringEnumMemberName("Minneapolis, MN")] MinneapolisMN, |
| 20 | + [JsonStringEnumMemberName("Nashville, TN")] NashvilleTN, |
| 21 | + [JsonStringEnumMemberName("New York, NY")] NewYorkNY, |
| 22 | + [JsonStringEnumMemberName("Orlando, FL")] OrlandoFL, |
| 23 | + [JsonStringEnumMemberName("Philadelphia, PA")] PhiladelphiaPA, |
| 24 | + [JsonStringEnumMemberName("Phoenix, AZ")] PhoenixAZ, |
| 25 | + [JsonStringEnumMemberName("Portland, OR")] PortlandOR, |
| 26 | + [JsonStringEnumMemberName("Salt Lake City, UT")] SaltLakeCityUT, |
| 27 | + [JsonStringEnumMemberName("San Diego, CA")] SanDiegoCA, |
| 28 | + [JsonStringEnumMemberName("San Francisco, CA")] SanFranciscoCA, |
| 29 | + [JsonStringEnumMemberName("Seattle, WA")] SeattleWA, |
| 30 | + [JsonStringEnumMemberName("Washington, DC")] WashingtonDC, |
| 31 | +} |
| 32 | + |
| 33 | +public static class UsCityData |
| 34 | +{ |
| 35 | + public static (double Latitude, double Longitude) GetCoordinates(UsCity city) => city switch |
| 36 | + { |
| 37 | + UsCity.AlbuquerqueNM => (35.0844, -106.6504), |
| 38 | + UsCity.AtlantaGA => (33.7490, -84.3880), |
| 39 | + UsCity.AustinTX => (30.2672, -97.7431), |
| 40 | + UsCity.BostonMA => (42.3601, -71.0589), |
| 41 | + UsCity.CharlotteNC => (35.2271, -80.8431), |
| 42 | + UsCity.ChicagoIL => (41.8781, -87.6298), |
| 43 | + UsCity.DallasTX => (32.7767, -96.7970), |
| 44 | + UsCity.DenverCO => (39.7392, -104.9903), |
| 45 | + UsCity.HoustonTX => (29.7604, -95.3698), |
| 46 | + UsCity.IndianapolisIN => (39.7684, -86.1581), |
| 47 | + UsCity.LasVegasNV => (36.1699, -115.1398), |
| 48 | + UsCity.LosAngelesCA => (34.0522, -118.2437), |
| 49 | + UsCity.MiamiFL => (25.7617, -80.1918), |
| 50 | + UsCity.MinneapolisMN => (44.9778, -93.2650), |
| 51 | + UsCity.NashvilleTN => (36.1627, -86.7816), |
| 52 | + UsCity.NewYorkNY => (40.7128, -74.0060), |
| 53 | + UsCity.OrlandoFL => (28.5383, -81.3792), |
| 54 | + UsCity.PhiladelphiaPA => (39.9526, -75.1652), |
| 55 | + UsCity.PhoenixAZ => (33.4484, -112.0740), |
| 56 | + UsCity.PortlandOR => (45.5152, -122.6784), |
| 57 | + UsCity.SaltLakeCityUT => (40.7608, -111.8910), |
| 58 | + UsCity.SanDiegoCA => (32.7157, -117.1611), |
| 59 | + UsCity.SanFranciscoCA => (37.7749, -122.4194), |
| 60 | + UsCity.SeattleWA => (47.6062, -122.3321), |
| 61 | + UsCity.WashingtonDC => (38.9072, -77.0369), |
| 62 | + _ => throw new ArgumentOutOfRangeException(nameof(city)) |
| 63 | + }; |
| 64 | +} |
0 commit comments