我将为 XNA 游戏制作一个框架大厅(前 5 名高分),但我在弄清楚如何做时遇到了一些麻烦。我有一个 AllPlayer.json 文件来记录玩家的名字,另一个 json 文件记录了更苍白的细节,比如名字、分数等。文本文件是这样的:(图片)http://upic.me/i/zc/t56v1.jpg
现在我可以降序排序,但我只需要前 5 人
例子:
A 100
B 50
C 30
D 10
E 45
F 55
G 90
它应该是这样的:
A 100
G 90
F 55
B 50
E 45
代码:
List<List<string>> lst = new List<List<string>>();
lst.Add(new List<string>());
lst.Add(new List<string>());
for (int i = 0; i < ap.PlayerName.Count; i++)
{
detail = JsonBuilder.DeserializeFromFile<Player>("C:\\VirtualDrumGame\\Player\\" + ap.PlayerName[i] + ".json");
lst[0].Add(detail.Score.ToString());
lst[1].Add(detail.PlayerName);
}
var myComparer = new CustomComparer();
lst[0].Sort((x, y) =>
{
int ix, iy;
return int.TryParse(x, out ix) && int.TryParse(y, out iy)
? ix.CompareTo(iy) : string.Compare(x, y);
});
for (int j = lst[0].Count - 1; j <= lst[0].Count - 1; j--)
{
temp += lst[1][j].ToString() + " Score: " + lst[0][j].ToString() + "\n";
}
我真的很感谢答案!
谢谢!!