我正在为我的计算课程做一个测验应用程序,我正在结束屏幕上工作,在结束屏幕上我有一个名为 savescore() 的方法
savescore() 用于将用户的用户名、分数和时间保存到文本文件中。savescore() 方法完美地将用户详细信息保存到名为 scores 的文本文件中,但我的问题是,当我将用户详细信息写入文本文件时,我希望将数据按分数降序写入分数文本文件中,我不知道该怎么做。
private void SaveScore()
{
string file = @"..\..\textfiles\scores.txt";
try
{
//
// Create file if not exists
//
if (!File.Exists(file))
{
File.Create(file).Dispose();
}
//
// Create DataTable
//
DataColumn nameColumn = new DataColumn("name", typeof(String));
DataColumn scoreColumn = new DataColumn("score", typeof(int));
DataColumn timeColumn = new DataColumn("time", typeof(long));
DataTable scores = new DataTable();
scores.Columns.Add(nameColumn);
scores.Columns.Add(scoreColumn);
scores.Columns.Add(timeColumn);
//
// Read CSV and populate DataTable
//
using (StreamReader streamReader = new StreamReader(file))
{
streamReader.ReadLine();
while (!streamReader.EndOfStream)
{
String[] row = streamReader.ReadLine().Split(',');
scores.Rows.Add(row);
}
}
Boolean scoreFound = false;
//
// If user exists and new score is higher, update
//
foreach (DataRow score in scores.Rows)
{
if ((String)score["name"] == player.Name)
{
if ((int)score["score"] < player.Score)
{
score["score"] = player.Score;
score["time"] = elapsedtime;
}
scoreFound = true;
break;
}
}
所以我有人可以编辑我当前的代码,以根据分数的降序保存用户详细信息,这将是非常棒的,在此先感谢。
蝴蝶刀刀
相关分类