Pro*_*Ask -1 c# linq performance
我想对分组的项目求和。我想保持简单的 LINQ 语法。
我需要在代码中修复什么才能获取关键项。我正在尝试“g[g.Key].Count()”,这不起作用。
public class Order
{
public string Id { get; set; }
public string Name { get; set; }
public string Group { get; set; }
}
public class Group
{
public string GroupId { get; set; }
public string Count { get; set; }
}
**var groupedOrd = orders.GroupBy(f => f.Group);**
List<Group> groups = new List<Group>();
foreach(var g in groupedOrd)
{
groups.Add(new Group() { GroupId = g.Key, Count = g[g.Key].Count() });
}
Run Code Online (Sandbox Code Playgroud)
GroupBy其实现的回报IEnumerable,所以你可以这样做:IGrouping<TKey,TElement>IEnumerable<T>g.Count()
var groups = groupedOrd
.Select(g => new Group { GroupId = g.Key, Count = g.Count() } )
.ToList();
Run Code Online (Sandbox Code Playgroud)
此外,Group.Count由于某种原因,您的属性是一个字符串,因此您需要将其更改为int或执行g.Count().ToString()