我正在为游戏制作记分牌。我正在开发但没有json的经验。 到目前为止,我已经做到了这一点,它将一个带有分数的名称添加到纯文本文件中,并在游戏中显示它。 现在我想对它进行排序,以便得分最低的名称出现在顶部。
这是我的代码:
[WebMethod]
public static void Score(String gamescore, string loginname)
{
List<Highscore> Myhighscores = new List<Highscore>();
string hs = File.ReadAllText(@"c:\temp\hs.txt");
Myhighscores = JsonConvert.DeserializeObject<List<Highscore>>(hs);
Myhighscores.Add(new Highscore { Score = gamescore, Name = loginname });
string Jstr = JsonConvert.SerializeObject(Myhighscores);
File.WriteAllText(@"c:\temp\hs.txt", Jstr);
}
public void displayScore()
{
using (StreamReader r = new StreamReader(@"c:\temp\hs.txt"))
{
string json = r.ReadToEnd();
List<Highscore> items = JsonConvert.DeserializeObject<List<Highscore>>(json);
foreach (Highscore score in items)
{
lblHighscore.Text += $"{score.Name} > {score.Score} {"Turns"}<br/>";
}
}
}
我尝试了很多东西,但似乎没有任何工作。 有谁知道我怎么能做到这一点?
p.s Highscore包含2个名为Name
和Score
的公共字符串。
答案 0 :(得分:0)
您需要先对对象进行排序,然后再将其写回文件中。
$(document).ready(function () {
$("img").hover(function () {
$(this).css("border-outset", "10px");
});
});
答案 1 :(得分:0)
我需要做的就是将gamescore
更改为int
并添加以下代码:
List<Highscore> SortedList = items.OrderBy(o => o.Score).ToList();