我有这个简单的查询 - >
var games =
from p in _oListGames
where p.Visitor == team.ID
select p
我想用p.Visitor从该列表中获得的总游戏COUNT(_oListGames)来订购此选项
我该怎么做?
我想根据他们目前的访客游戏数量订购var“游戏”。
答案 0 :(得分:3)
我假设您的意思是每个游戏主队拥有的访客游戏数量的顺序:
var games =
from p in _oListGames
where p.Visitor == team.ID
orderby _oListGames.Count(g => p.Home == g.Visitor)
select p;
答案 1 :(得分:1)
更新:好的,我想我明白你现在的目标。这是我认为可能有用的一个选项:
var gameCounts = _oListGames
.Where(p => p.Visitor == team.ID)
.GroupBy(p => p.Home)
.Select(g => new { Opponent = g.Key, Count = g.Count() })
.OrderByDescending(x => x.Count);
这基本上与Mark's answer类似,但它实际上会为您提供结果中的计数(而不是按计数排序)。
答案 2 :(得分:0)
var games = from p in _oListGames where p.Visitor == team.ID select p;
int count = games.Count();
或者你可以这样做。
int count = _oListGames.Count(p=>p.Visitor == team.ID);
按team.ID的数量对其进行排序
var sortGames = games.OrderBy(s => s.Visitor.Count());