Удаление строки из бинарного файла

Проблема в том что удаление (код будет ниже) работает не корректно оно должно удалять студента по айди. Когда открываю бинарный файл то там оно не удалилось и при загрузки бинарного файла выдает ошибку

Необработанное исключение: 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);
    }

Ответы (0 шт):