有什么方法可以简化对 LINQ GroupBy 查询中组的第一个成员的访问吗?
Is there some way to simplify access to the first member of a group in a LINQ GroupBy query?
我有以下 LINQ 语句按站点收集结果:
var groupedSites = ungroupedSites.AsEnumerable()
.GroupBy(_ => _.s.SiteUid)
.Select(g => new MySites {
Title = g.First().sd.Title,
Classification = g.First().s.Classification,
Service = g.First().p.ServiceGateway,
etc.
});
'MySites' 的初始化程序中还有许多其他属性使用 g.First()。有没有更好的方法(比 g.First())我可以访问该组的第一项?理想情况下,有一个变量会很好:
var first = g.first()
并使用它。
您可以通过额外的 Select
:
var groupedSites = ungroupedSites.AsEnumerable()
.GroupBy(_ => _.s.SiteUid)
.Select(g => g.First())
.Select(f => new MySites {
Title = f.sd.Title,
Classification = f.s.Classification,
Service = f.p.ServiceGateway,
etc.
});
我有以下 LINQ 语句按站点收集结果:
var groupedSites = ungroupedSites.AsEnumerable()
.GroupBy(_ => _.s.SiteUid)
.Select(g => new MySites {
Title = g.First().sd.Title,
Classification = g.First().s.Classification,
Service = g.First().p.ServiceGateway,
etc.
});
'MySites' 的初始化程序中还有许多其他属性使用 g.First()。有没有更好的方法(比 g.First())我可以访问该组的第一项?理想情况下,有一个变量会很好:
var first = g.first()
并使用它。
您可以通过额外的 Select
:
var groupedSites = ungroupedSites.AsEnumerable()
.GroupBy(_ => _.s.SiteUid)
.Select(g => g.First())
.Select(f => new MySites {
Title = f.sd.Title,
Classification = f.s.Classification,
Service = f.p.ServiceGateway,
etc.
});