Удаление строки из бинарного файла
Проблема в том что удаление (код будет ниже) работает не корректно оно должно удалять студента по айди. Когда открываю бинарный файл то там оно не удалилось и при загрузки бинарного файла выдает ошибку
Необработанное исключение: System.IO.EndOfStreamException: невозможно прочитать данные за пределами конца потока.
Код метода
public void DeleteStudent()
{
Student s = new Student();
List<Student> loadedStudents = s.LoadStudents();
foreach (Student student in loadedStudents)
Console.WriteLine(student);
Console.WriteLine("Введите айди студента которого вы хотите удалить");
string temp = Console.ReadLine();
int id = Int32.Parse(temp);
RemoveLines("Students.bin", id, 1);
}
static void RemoveLines(string filename, int start, int count = 1) =>
File.WriteAllLines(filename, File.ReadAllLines(filename)
.Where((line, index) => index < start - 1 || index >= start + count - 1));
Обновила метод как сказали в коментах и ничего не удаляет
public void DeleteStudent()
{
Student s = new Student();
List<Student> loadedStudents = s.LoadStudents();
foreach (Student student in loadedStudents)
Console.WriteLine(student);
Console.WriteLine("Введите айди студента которого вы хотите удалить");
string temp = Console.ReadLine();
int id = Int32.Parse(temp);
// RemoveLinesStud("Students.bin", id, 1);
s.LoadStudents().Where((line, index) => index < id - 1 || index >= id + 1 - 1);
}