所以显然你有一个类似于这样的类:
class StaffMemberView
{
public string Name {get; set;}
public int ViewCount {get; set;} // in your input always 1
... // other properties
}
如果您的输入确实始终具有值 1,则足以创建具有相同属性 Name 值的 StaffMemberview 组。在参数 resultSelector 中统计每组的元素个数:
IEnumerable<StaffMemberView> staffMemberViews = ...
var result = staffMemberViews.GroupBy(
// keySelector: make groups with the same value for Name:
staffMemberView => staffMemberView.Name,
// parameter resultSelector, for every Name, and all StaffMemberViews that
// have this Name, make one new:
(name, staffMembersViewsWithThisName) => new
{
Name = name,
ViewCount = staffMemberViewsWithThisName.Count(),
});
如果参数 ViewCount 有时不为 1,那么仅统计每个组中的 StaffMemberViews 是不够的,还需要对 ViewCount 的值求和。
参数resultSelector变化:
(name, staffMembersViewsWithThisName) => new
{
Name = name,
ViewCount = staffMemberViewsWithThisName
.Select(staffMemberView => staffMemberView.ViewCount)
.Sum(),
});