我正试图通过积极参与者对小组进行排序......
在这种情况下,第一组包含内部最大的玩家:
List<Group> groups = tournament.Groups.OrderByDescending(o => o.Players.Count).ToList();
我必须添加一个只计算活跃玩家的过滤器,如下所示:
if (o.Players[index].Active == true)
count Players[index] into o.Players.Count
有人可以帮我解释语法吗?
答案 0 :(得分:2)
你可以用这个:
List<Group> groups = tournament.Groups
.OrderByDescending(o => o.Players.Count(P => P.Active)).ToList();
答案 1 :(得分:1)
如果您只想过滤活跃的玩家,可以在Count
扩展名方法中移交谓词:
List<Group> groups = tournament
.Groups
.OrderByDescending
(o => o.Players.Count(p => p.Active))
.ToList();
答案 2 :(得分:0)
您可能希望在结果中显示实际玩家的数量,而不仅仅是按他们排序
cityid: 1, shopid: 1, "location" : "2dsphere"