Sam*_*son -3 c# string algorithm int dictionary
我目前正在制作一个游戏,其中前5个高分可以在高分页面上显示.
目前我有一个类型[string,int]的字典,它将分别存储用户的名字和分数.但是,我在创建一个方法时遇到了麻烦,该方法将采用{"name",20}格式的所有5个字典元素并将每个元素分配给一个字符串.
例如,字典元素[0]包含值{sam,20}.我想将此元素分配给一个读取"sam 20"的字符串.
目前我有一个方法将返回top5高分,但我的问题发生在将这些值从字典元素转换为字符串时.
任何帮助将不胜感激,如果您有任何疑问,请不要犹豫.
提前致谢.
您可以使用.Select()字符串插值来构建投影字符串列表:
var formattedStrings = dict
.OrderByDescending(x => x.Value)
.Select(x => $"{x.Key} {x.Value}").ToList();
Run Code Online (Sandbox Code Playgroud)
从Dictionary<TKey, TValue>实现开始IEnumerable<KeyValuePair<TKey,?TValue>>,我们可以很容易地使用LINQ来命令和投影我们的键/值对,然后将它们插入到新的字符串中.
这也允许在投影列表之前进行更灵活的查询.