我有一个包含球员号码的班级......
public class Game {
public int blackPlayer { get; set; }
public int whitePlayer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和......
List<Game> games;
Run Code Online (Sandbox Code Playgroud)
我想知道哪个玩家编号在列表中出现次数最多(无论他们是扮演黑人还是白人).有谁知道一个好的LINQ表达式吗?
以下内容应该实现您的目标:
var q = (from g in games
from p in new[] {g.blackPlayer, g.whitePlayer}
group p by p into pgroup
orderby pgroup.Count() descending
select new { Player = pgroup.Key, Count = pgroup.Count() }).FirstOrDefault();
Console.WriteLine("Player # {0} played {1} times which is the most", q.Player, q.Count);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |