我有一个嵌套字典,如下所示:
Dictionary<string, Dictionary<string, int>> users = new Dictionary<string, Dictionary<string, int>>();
Run Code Online (Sandbox Code Playgroud)
第一个字符串是用户的姓名,第二个字符串是他正在参加的比赛,int 是他的分数。一名用户可以参加多项竞赛。
我的任务是通过添加所有得分来找到得分最高的用户。现在我使用这段代码:
foreach (var user in users)
{
bestUsers.Add(user.Key, 0);
foreach (var contest in user.Value)
{
bestUsers[user.Key] += contest.Value;
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何使用匿名函数来做到这一点,如下所示:
KeyValuePair<string, int> bestUser = users.OrderBy(x => x.Value.Sum());
Run Code Online (Sandbox Code Playgroud)