LINQ 中的嵌套组按扩展方法
本文关键字:扩展 方法 嵌套 LINQ | 更新日期: 2023-09-27 18:09:54
有人可以给我看一个嵌套的 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();
请注意,这为您提供了一个 T 是匿名类型的List<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();