簡體   English   中英

LINQ中的嵌套GroupBy擴展方法

[英]Nested GroupBy extension method in LINQ

有人可以向我展示一個嵌套的GroupBy擴展方法的簡單示例。 我正在嘗試將一個對象分組到一個列表中。 我認為它看起來像這樣:

//碼

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

那這個呢:

    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();

我想你想要這個:

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使用兩個屬性。 然后我可以通過Group.Key.PropertyName訪問它們。

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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM