Я думаю, я вижу, что вы делаете, вы пытаетесь написать файл так же, как вы читали бы, это то, что вам нужно?
public void saveHighScores(string hiScoreName, int score)
{
string line;
StreamWriter sw = new StreamWriter("highscore.txt");
line = hiScoreName + ", " + score.ToString();
sw.WriteLine(line);
sw.Close();
}
Вы также можете использовать массивы или списки, если вам нужно записать несколько рекордов
Edit:
Я думаю, вам нужно понять логику записи и чтения из файла.
Когда вы читаете файл, эта строка:
while((line = sr.ReadLine()) != null) {
проверяет, является ли следующая строка пустой или мы достигли конца файла.
Когда вы пишете в файл, вы можете пропустить эту часть, так как чаще всего вы не хотите останавливаться, когда достигаете конца файла. Кроме того, sw.WriteLine () записывает в файл, но не возвращает значение, которое вызывает вашу ошибку.
в моем коде выше, строки:
line = hiScoreName + ", " + score.ToString();
sw.WriteLine(line);
означает это:
line = hiScoreName followed by a comma followed by the score = "name, score"
write that line to the file