我正在为LINQ查询而苦苦挣扎。我必须在所有选区(使用选区列表)中找到候选人的最高投票价值(最高),并获取ConstituencyName,CandidateName和Votes值。这意味着我必须在两个列表中找到最大值,然后选择对象选区(或至少获取其值)。public class ListOfConstituencies(){ public List<Constituency> Constituencies {get;set;}}public class Constituency{ public string ConstituencyName {get;set;} public List<Candidate> Candidates {get;set;}}public class Candidate{ public string CandidateName {get;set;} public int Votes {get;set;}}
3 回答
![?](http://img1.sycdn.imooc.com/545865890001495702200220-100-100.jpg)
慕桂英3389331
TA贡献2036条经验 获得超8个赞
您可以将匿名与orderbydescending结合使用来解决此问题。
var contituencyWithMostVotes = Constituencies
.Select(c => new
{
Contituency = c,
Candidate = c.Candidates.OrderByDescending(can => can.Votes).First()
})
.OrderByDescending(c => c.Candidate.Votes).First();
结果“contituencyWithMostVotes”是一个具有 2 个属性的匿名对象。
实际选区对象
该选区中票数最高的候选人。
您可以从这些属性中检索所有信息。
- 3 回答
- 0 关注
- 128 浏览
添加回答
举报
0/150
提交
取消