给定以下数据:
List<Country> countries = new List<Country>();
countries.Add(new Country{ Name = "USA", population=500000, Year=2012 });
countries.Add(new Country{ Name = "USA", population=300000, Year=2002 });
countries.Add(new Country{ Name = "USA", population=250000, Year=1992 });
countries.Add(new Country{ Name = "USA", population=20000, Year=1982 });
countries.Add(new Country{ Name = "India", population=1500000, Year=2012 });
countries.Add(new Country{ Name = "India", population=1000000, Year=2002 });
countries.Add(new Country{ Name = "India", population=50000, Year=1982 });
countries.Add(new Country{ Name = "India", population=80000, Year=1992 });
countries.Add(new Country{ Name = "Germany", population=100000, Year=2012 });
countries.Add(new Country{ Name = "Germany", population=400000, Year=2002 });
countries.Add(new Country{ Name = "Germany", population=60000, Year=1992 });
countries.Add(new Country{ Name = "Germany", population=4000, Year=1982 });
countries.Add(new Country{ Name = "UK", population=450000, Year=2002 });
countries.Add(new Country{ Name = "UK", population=50000, Year=1992 });
countries.Add(new Country{ Name = "UK", population=3000, Year=1982 });
我想按给定年份的最大人口对国家进行排序,然后显示该国家/地区的所有年份,然后再转到下一个国家/地区。
例如
2012 - 人口顺序将是印度、美国、英国、德国。所以我希望数据按所有印度数据、所有美国数据、所有英国数据和德国数据排序。
2002 - 人口顺序是印度、美国、德国,然后是英国。英国是最后一个,因为它没有 2002 年的数据。
我想使用 LINQ 来实现这一点,尽管我过去使用过 LINQ,但我一直在努力解决这个问题。任何帮助将非常感激。