Я предлагаю сделать это через отдельный метод и просто добавить его на кнопку
Например, игрок 1 находился на 5-м месте, а какой-то следующий игрок 2 побил этот рекорд и стал на 5-м месте, а игрок 1 на 6-м месте, вам нужно удалить игрока, который находится на 6-м месте из файла!
в этом коде есть словарь - ключ - имя игрока, значение - время в секундах (чем меньше - тем лучше)
Все результаты (ключ и значение) записываются в файл в другой форме, и в этой форме они копируются в словарь и прокручиваются из словаря по метке как конечный результат, но я не могу удалить проигрыватели из файла, который оставил рейтинг.
Как сделать удаление этого игрока в файле?
private static Dictionary<string, int> AllNames()
{
return File
.ReadLines(@"C:\Users\HP\Desktop\картинки\results.txt")
.Where(line => !string.IsNullOrWhiteSpace(line))
.Select(item => item.Split(' '))
.ToDictionary(items => items[0],
items => int.Parse(items[1]));
}
private void updateRatingLabels()
{
var tops = AllNames()
.OrderBy(pair => pair.Value)
.ThenBy(pair => pair.Key, StringComparer.Ordinal)
.Take(5)
.ToArray();
for (int i = 18; i <= 22; ++i)
Controls.Find($"label{i}", true).First().Text = "";
for (int i = 28; i <= 32; ++i)
Controls.Find($"label{i}", true).First().Text = "";
for (int i = 0; i < tops.Length; ++i)
{
Controls.Find($"label{i + 18}", true).First().Text = tops[i].Key;
Controls.Find($"label{i + 28}", true).First().Text = $"{tops[i].Value / 60}:{tops[i].Value % 60:00}";
}
}