using System.Collections.Generic;
public static void Main()
Dictionary<string, City> CanadianCities = new Dictionary<string, City>();
CanadianCities.Add("Winnipeg", new City { Province= "Manitoba", Population=10000});
CanadianCities.Add("Regina", new City { Province = "Saskatchewan", Population = 50000 } );
CanadianCities.Add("Edmonton", new City { Province = "Alberta", Population = 62220 });
CanadianCities.Add("Québec", new City { Province = "Quebec", Population = 780000 });
CanadianCities.Add("Toronto", new City { Province = "Ontario", Population = 8000000 });
foreach (var item in CanadianCities)
Console.WriteLine(item.Key + "is a city in " + item.Value.Province);
HashSet<string> northAmericanCities = new HashSet<string>();
northAmericanCities.Add("Mexico City");
northAmericanCities.Add("New York City");
northAmericanCities.Add("Los Angeles");
northAmericanCities.Add("Toronto");
northAmericanCities.Add("Chicago");
northAmericanCities.Add("Houston");
northAmericanCities.Add("Havana");
northAmericanCities.Add("Ecatepec de Morelos");
northAmericanCities.Add("Montreal");
northAmericanCities.Add("Philadelphia");
northAmericanCities.IntersectWith(CanadianCities.Keys);
foreach (var item in northAmericanCities)
Console.WriteLine(item + " is in Canada and also in the top 10 largest cities in North America.");
public string Province { get; set; }
public int Population { get; set; }