Работа со 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;