在C#中编写和更新存储在文本文件中的用户分数,可以通过以下步骤实现:
StreamWriter
类来创建和写入文件。例如,可以使用以下代码创建一个名为"scores.txt"的文本文件:using System.IO;
string filePath = "scores.txt";
StreamWriter writer = new StreamWriter(filePath);
writer.Close();
StreamReader
类来读取文件中的分数,并使用StreamWriter
类来更新分数。以下是一个示例方法:using System;
using System.IO;
string filePath = "scores.txt";
// 读取用户分数
public static int ReadScore(string userName)
{
int score = 0;
using (StreamReader reader = new StreamReader(filePath))
{
string line;
while ((line = reader.ReadLine()) != null)
{
string[] parts = line.Split(':');
if (parts.Length == 2 && parts[0] == userName)
{
int.TryParse(parts[1], out score);
break;
}
}
}
return score;
}
// 更新用户分数
public static void UpdateScore(string userName, int newScore)
{
string tempFile = Path.GetTempFileName();
using (StreamReader reader = new StreamReader(filePath))
using (StreamWriter writer = new StreamWriter(tempFile))
{
string line;
bool updated = false;
while ((line = reader.ReadLine()) != null)
{
string[] parts = line.Split(':');
if (parts.Length == 2 && parts[0] == userName)
{
writer.WriteLine($"{userName}:{newScore}");
updated = true;
}
else
{
writer.WriteLine(line);
}
}
if (!updated)
{
writer.WriteLine($"{userName}:{newScore}");
}
}
File.Delete(filePath);
File.Move(tempFile, filePath);
}
ReadScore
方法来获取用户的当前分数,并调用UpdateScore
方法来更新用户的分数。以下是一个示例调用:string userName = "John";
int currentScore = ReadScore(userName);
Console.WriteLine($"当前分数:{currentScore}");
int newScore = 100;
UpdateScore(userName, newScore);
Console.WriteLine("分数已更新。");
int updatedScore = ReadScore(userName);
Console.WriteLine($"更新后的分数:{updatedScore}");
这样,你就可以在C#中编写和更新存储在文本文件中的用户分数了。请注意,上述代码仅为示例,实际应用中可能需要进行错误处理和其他逻辑的补充。
领取专属 10元无门槛券
手把手带您无忧上云