我想要做的是找出linq的投票结果。每个用户都有一个beerID,即他们投票选出的啤酒,如果他们没有投票,则为null。我觉得这应该是简单的,但对于我的生活我可以;现在就明白了。有没有使用linq的快速方法,我可以得到每个唯一的beerID的数量,然后得到最多的选票?如何获得使用linq的字段的不同数量?
2
A
回答
2
2
分组可能是你最好的选择 - 按啤酒ID分组投票,然后计算每组中的项目。例如:
var beerCounts = from vote in votes
where vote.BeerID != null
group vote by vote.BeerID into beerVoteGroups
select new
{
Count = beerVoteGroups.Count(),
BeerID = beerVoteGroups.Key
};
foreach (var group in beerCounts)
{
Console.WriteLine("Beer {0} got {1} votes", group.BeerID, group.Count);
}
获得最多选票可以通过对结果进行排序来完成。这里有一个修改后的查询,以获胜者的投票数量排序啤酒。
var beerCounts = from vote in votes
where vote.BeerID != null
group vote by vote.BeerID into beerVoteGroups
let voteCount = beerVoteGroups.Count()
orderby voteCount descending
select new
{
Count = voteCount,
BeerID = beerVoteGroups.Key
};
然后,您可以通过使用LINQ一是运营商,例如:挑选赢家
var winner = beerCounts.First();
+0
同样真棒!谢谢伊恩 – Mike 2010-11-17 01:23:16
相关问题
- 1. 如何使用linq在字典中的项目的值内获得不同数量的变量
- 2. 如何获得不同的变量
- 3. 如何获得mysql中不同字段的值的总和?
- 4. 如何使用方法语法使用LINQ和C#获得不同的结果
- 5. 如何获得LINQ缓存对象的对象字段?
- 6. 如何获得不同的行以及Linq中相同行的计数?
- 7. 获得的数据表用vb.net和LINQ的不同元素
- 8. LINQ到获得不同的属性
- 9. 获得多个不同的LINQ
- 10. 使用包含不同数量字段的行的awk/cut/sed
- 11. LINQ to SQL,如何获得在字段中找到的搜索项的计数?
- 12. Long DateTime字段将DataTable中的Datetime字段缩短而不使用LINQ获取不同的值
- 13. 如何获得基于一个字段从核心数据不同的结果
- 14. LINQ where子句与不同的字段
- 15. 的LINQ:如何获得倒数第二
- 16. 获得使用LINQ
- 17. 获得使用LINQ
- 18. 获得使用LINQ
- 19. 获得使用LINQ
- 20. 获得使用LINQ
- 21. LinQ获得明显的字段与平均数错误
- 22. 如何在一个LINQ中获得两个不同的聚合?
- 23. 如何在LINQ to SQL中获得特定的列不同
- 24. 如何从大量的数字中获得最大的数字?
- 25. 如何获得与使用LINQ
- 26. 如何获得在Asp.net MVC使用LINQ
- 27. 问题使用Linq显示不同的字段
- 28. 如何获得使用不同颜色的geom_step为段的步骤图
- 29. 如何获得logstash中的字段值?
- 30. 如何获得ForeignKey的模型字段
,你可以发布你的模型是什么样子(即你的类,代表用户/票/啤酒)?这将是非常有益的! – Pwninstein 2010-11-17 01:11:38