2

ネストされた GroupBy 拡張メソッドの簡単な例を教えてください。オブジェクトをリストにグループ化しようとしています。私はそれが次のようになると思います:

//コード

List<stats> myStats = GetStatsList().GroupBy( d => d.date).GroupBy(t => t.team)
        Select(s => new stats
  {
        Date = 
        Team = 
 }).AsEnumerable().ToList();
4

3 に答える 3

2

これはどうですか:

    List<stats> myStats = GetStatsList()
                            .GroupBy(s => new { s.date, s.team })
                            .Select(g => new stats { Date = g.Key.date , Team = g.Key.team})
                            .AsEnumerable()
                            .ToList();
于 2013-04-19T09:07:04.130 に答える
1

私はあなたがこれを望んでいると仮定します:

List<stats> myStats = GetStatsList()
    .GroupBy(s => new{ s.Date, s.Team})
    .Select(g => new stats
      {
            Date = g.Key.Date,
            Team = g.Key.Team,
     }).ToList();

GroupBy異なるsで使用する 2 つのプロパティを持つ匿名型でグループ化しています。その後、経由でアクセスできますGroup.Key.PropertyName

于 2013-04-19T09:12:17.467 に答える
1
var myStats = (from s in GetStatsList()
               group by new { Date = s.date, Team = s.team} into g
               select g.Key).ToList();

これによりList<T>、 T が匿名型であることがわかります。これで十分かもしれません。明示的にリストが必要な場合:

var myStats = (from s in GetStatsList()
               group by new { s.date, s.team} into g
               select new stat { Date = g.Key.date, Team = g.Key.team}).ToList();
于 2013-04-19T09:14:33.937 に答える