3
と仮定、例えば、私のC#コードで、私は以下のように定義MyClass
、持っている:複数のネストされたグループのLINQで
public class MyClass
{
public string GroupName;
public DateTime Dt;
.... other properties ....
}
をそして、私はそれが最も簡単なようですので、List<MyClass>
が(それを表として示す以下の持っていたと仮定内容を記述するための方法):
GroupName: Dt: Val:
Group1 2016/01/01 a
Group1 2016/01/02 b
Group1 2016/01/03 c
Group2 2016/01/01 d
Group2 2016/01/02 e
Group3 2016/01/01 f
Group3 2016/01/02 g
Group3 2016/01/03 h
そして、私はこのリストからすべてのデータを取得するために探しています:
- は、まず、第二にそう
GroupName
でグループ化されたDt
IEnumerable<IGrouping<DateTime, IEnumerable<IGrouping<string, IEnumerable<MyClass>>>>
私の最高の試み取得したい:
return MyList
.GroupBy(d => d.Dt)
.GroupBy(grp => grp.ToList().GroupBy(d => d.GroupName));
を私は、これは間違っている知っているが、これは私が把握できた唯一のものです。 私は何をお探しですか?
おかげで、私は」私はまだこれをグループ>として返すことに固執しています。ここで 'Dts'を最初に反復し、次に' Groupnames'を2番目に反復することができます。あなたの解決策はこれを達成するはずですか? 戻りMYLIST .GroupBy(D => d.Dt) .Select(G1 =: –
それはネストされたグループであるが、ここで明確にするためには、あなたが 'すべてに.'とは何が起こっているか見ることができ、より明示的なバージョンです>新しい {Dtを= g1.Key、 DTS = g1.GroupBy(D => d.GroupName) .Select(G2 =>新しい {GroupNameの= g2.Key、 GroupNames = G2 }) }); – gzak
@MarcinJuraszek、あなたの答えに編集されたバージョンを貼り付けてください。 – gzak