Допустим, вы хотите сохранить пять лучших результатов в файле. Предполагая, что файл всегда содержит действительные данные, вы можете сделать это следующим образом:
Private Sub SaveHighScore(score As Integer)
Const FILE_PATH = "file path here"
Const MAX_SCORE_COUNT = 5
'Read the lines of the file into a list of Integer values.
Dim scores = File.ReadLines(FILE_PATH).
Select(Function(s) CInt(s)).
ToList()
'Append the new score.
scores.Add(score)
'Sort the list in descending order.
scores.Sort(Function(x, y) y.CompareTo(x))
'Write up to the first five scores back tot he file.
File.WriteAllLines(FILE_PATH,
scores.Take(MAX_SCORE_COUNT).
Select(Function(i) i.ToString()))
End Sub
Добавив новый счет в существующий список, отсортировав и записав первые пять, вы автоматически отбрасываете самый низкий счет , Это означает, что никогда не нужно проверять, является ли новый результат высоким или нет.