using System.Collections.Generic;
public static void Main()
var cities = new List<CityItem>
new CityItem { City = "City1", Value = 10 },
new CityItem { City = "City2", Value = 20 },
new CityItem { City = "City3", Value = 30 },
new CityItem { City = "City4", Value = 40 },
new CityItem { City = "City5", Value = 50 },
new CityItem { City = "City6", Value = 60 },
new CityItem { City = "City7", Value = 60 },
.GroupBy(city => city.Value)
.OrderByDescending(gr => gr.Key)
foreach (var city in topCities)
Console.WriteLine(city.City + ": " + city.Value);
public string City { get; set; }
public int Value { get; set; }