Работа со StreamWriter и StreamReader. Удаление строки из файла - C#
Формулировка задачи:
Всем привет.
Пишу консольное приложение и имеется функция, которая позволяет удалить 1 запись по ключевому слову из файла.
Вот код:
Не могу правильно организовать удаление строки из файла, чтобы в файле оставались все записи, кроме удаленной.
Подскажите оптимальное решение. Спасибо
Console.Clear(); Console.WriteLine("1.Удалить контакт\n2.Назад"); while (true) { int choice = Int32.Parse(Console.ReadLine()); string lines = ""; switch (choice) { case 1: Console.WriteLine("Введите имя или номер контакта."); string filter = Console.ReadLine(); using (StreamReader sr = new StreamReader("Phonebook.txt", true)) { while ((lines = sr.ReadLine()) != null) { if (lines.Contains(filter)) { Console.WriteLine("Контакт успешно удален!", lines.Remove(0)); } } } break; default: break; } if (choice == 2) break;
Решение задачи: «Работа со StreamWriter и StreamReader. Удаление строки из файла»
textual
Листинг программы
case 1: Console.WriteLine("Введите имя или номер контакта."); string filter = Console.ReadLine(); string[] InputFile = File.ReadAllLines("Phonebook.txt"); File.Delete("Phonebook.txt"); foreach (string line in InputFile) { if (line.Contains(filter)) { Console.WriteLine("Контакт успешно удален!"); continue; } else { File.AppendAllText(@"Phonebook.txt", line+"\r\n"); } } break;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д