次のデータがあるとします。
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を使用してこれを実現したいのですが、これを回避するのに苦労しています。どんな助けでも大歓迎です。