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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5