using System.Collections.Generic;
public static void Main()
Dictionary<string,City> Canadiancities = new Dictionary<string, City>();
Canadiancities.Add("St. John's", new City(100645, "Newfoundland and Labrador"));
Canadiancities.Add("Halifax", new City(372680, "Nova Scotia"));
Canadiancities.Add("Fredricton", new City(34000, "New Brunsiwick"));
Canadiancities.Add("Charlottetown", new City(34562, "Prince Edward Island"));
Canadiancities.Add("Quebec", new City(8180000, "Quebec"));
Canadiancities.Add("Toronto", new City(2503000, "Ontario"));
Canadiancities.Add("Winnipeg", new City(633450, "Manitoba"));
Canadiancities.Add("Regina", new City(176245, "Saskatchewan"));
Canadiancities.Add("Edmonton", new City(730375, "Alberta"));
Canadiancities.Add("Victoria", new City(78055, "British Columbia"));
Canadiancities.Add("Iqaluit", new City(6699, "Nanavut"));
Canadiancities.Add("Yellowknife", new City(19234, "Northwest Territories"));
Canadiancities.Add("Whitehorse", new City(27889, "Yukon"));
foreach (var city in Canadiancities)
Console.WriteLine("{0} - {1}", city.Key, city.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("Winnipeg");
northAmericanCities.Add("Havana");
northAmericanCities.Add("Regina");
northAmericanCities.Add("Montreal");
northAmericanCities.Add("Halifax");
northAmericanCities.IntersectWith(Canadiancities.Keys);
Console.WriteLine("Top Cities of Canada those are also in North America are: \n");
foreach (var city in northAmericanCities)
Console.WriteLine("{0}",city);
public int population { get; set; }
public string province { get; set; }
public City(int Population, string Province)
this.population = Population;
this.province = Province;