IT-кот 6. Кот не злопамятный
Но он злой и память у него хорошая. Хотя это не правда, какой он злой? Однако, память у кота действительно хорошая. Почему? Потому что кот записывает все в файлы.
Ранее мы выводили текстовую информацию в консоль (с помощью метода Console.WriteLine), но существуют и другие способы вывода. Например, информацию можно выводить в файл, а затем читать из файла. Для этого воспользуемся методами File.WriteAllLines для записи сведений в файл и File.ReadAllLines для получения данных из него.
Что же такое, эти Lines? Lines - это просто несколько строк текста. В предыдущем примере (IT-кот 5. Оперативная память, как у золотой рыбки) мы выводили строки в консоль по одной. Такой же подход возможен и для файла, однако, удобнее (хотя не всегда - лучше) записывать в файл и читать из него сразу все строки. Для этого сначала сразу все строки нам надо получить.
Сделать это очень просто. Во-первых, нужно определить, куда мы будем складывать строки. Для этого используем список List<string>, создав внутри метода Main переменную с именем lines, представляющую собой новый список строк:
List<string> lines = new List<string>();
Почему список новый и зачем это надо было явно указывать - разберем в следующих постах, а пока давайте заменим весь вывод в консоль на добавление элементов в список, везде написав
lines.Add
вместо
Console.WriteLine
Почему List<string> подчеркнуто красным? Потому что компилятор не знает, откуда брать этот список (может мы сами его придумали). Что ж, подскажем ему, указав вверху после using System; еще одно место для поисков - using System.Collections.Generic;.
Ок, список строк мы получили, но его теперь надо куда-то сохранить. Для этого укажем относительный путь сохранения - "tasks.cat" (о путях подробнее было в самом первом посте - IT-кот 1. Взаимодействие с приложениями), и попросим компьютер файл сохранить (здесь надо указать также еще одно место для поиска System.IO):
File.WriteAllLines("tasks.txt", lines);
Прочитать данные из файла мы можем, создав новый (пример создания был выше) или очистив старый (методом Clear) список дел, а затем загрузив из него строки из файла (ниже пример с очищением):
lines.Clear();
lines.AddRange(File.ReadAllLines("tasks.txt"));
Вроде бы все, но посмотреть то результаты работы как?
Во-первых, можно найти файл на диске и просто его открыть.
Во вторых можно написать метод, который будет выводить все содержимое списка на экран и вызывать его в разных местах.
Пример полного программного кода - здесь (строки, начинающиеся с двух слешей, т.е. с '//' называются комментариями, игнорируются компилятором и позволяют нам писать любые сообщения потомкам).
Все, пришла усталость, продолжение - в следующем посте.
Котомафия
108K постов34.1K подписчиков
Правила сообщества
В сообществе категорически запрещено:
✔Оскорблять других пользователей. Запрещено использование нецензурных выражений и ругательств. Замена части букв значками "@", "#", "$" и т. д. при вычислимости исходного слова не избавляет от ответственности. Категорически не рекомендуется использование грубо-просторечной лексики, а также упоминания физиологических отклонений;
✔ Сообщения не по теме. Публикуемые сообщения должны соответствовать заявленной теме сообщества;
✔Размещение постов о помощи животным в сообществе без обязательных тегов: #вдобрыеруки #помощь #без рейтинга
Так же напоминаем, что на Пикабу существует специальное сообщество ."Айболит. Помощь животным"
Дорогие друзья, которым не нравятся посты с просьбами о помощи животным, очень просим Вас добавить теги: #помощь #вдобрыеруки и др. в черный список.
✔Плагиат! Не присваивай себе чужие идеи, записи и другой авторский контент.
✔Некорректные комментарии в комментариях, откровенный флуд, провокации, пропаганду жестокого и безответственного отношения к животным и пр. участники заносятся в черный список без дополнительных пояснений и предупреждений!
✔Нарушать правила Пикабу.
Заметили нарушение правил: напишите@zluchkin , @Darsinka
Не забывайте ставить тег "моё", "кот", "котомафия" если выкладываете своих любимцев.
Мы есть в VK:@kotomafia _fan, отмечайте нас на Ваших фото.