【发布时间】:2022-02-02 19:40:03
【问题描述】:
您好,我需要在 .txt 中创建一个列表,但使用这些代码我只能写入数据,而键入数据只会覆盖第一个
int score = Convert.ToInt32(ScoreLBL.Text);
String name = NameTB.Text;
List<Leaderboard> LB = new List<Leaderboard>();
Leaderboard results;
results = new Leaderboard(name, score);
LB.Add(results);
StreamWriter sw = new StreamWriter(@"C:\Users\zxong\Desktop\EGL138-OBJECT-ORIENTED PROGRAMMING\Project\Leaderboard.txt");
for (int i = 0; i< LB.Count(); i++)
{
sw.WriteLine(LB[i].getName() + "," + LB[i].getScore());
}
排行榜类
class Leaderboard
{
private String name;
protected int score;
public Leaderboard(String n, int s)
{
this.name = n;
this.score = s;
}
public String getName()
{
return this.name;
}
public int getScore()
{
return this.score;
}
}
【问题讨论】:
-
你也可以只使用File.AppendText
-
两种方法都试过了,没用。而不是 1 行 name,score ,我得到 line1: name 和 line2: name,score
-
请提供minimal reproducible example。您给出的代码永远不会在一行上只写一个值。顺便说一句,我强烈建议您开始遵循 .NET 命名约定。
标签: c# winforms streamwriter