Реализовать сохранение и открытие сохраненного файла в проекте

144
21 февраля 2019, 15:10

Можно ли сохранить массив объектов, в отдельный файл, а потом запустить этот файл в приложении и восстановить массив (который был в файле) из этого файла ? (Знаю что можно, но как сделать)

Answer 1

Для начала давайте поймем, что же такое сериализация/десериализация:

Сериализация (в программировании) (англ. serialization) — процесс перевода какой-либо структуры данных в последовательность битов. Обратной к операции сериализации является операция десериализации (структуризации) (англ. deserialization) — восстановление начального состояния структуры данных из битовой последовательности.

Источник: Википедия.

Последовательность байтов мы смело можем заменить на любой, удобный для нас вид (XML, JSON и др.). Я лично обожаю JSON и по этому в примерах буду использовать его.

Допустим у нас есть некая коллекция Names, которая содержит в себе некие объекты:

List<string> Names = new List<string>
{
    "Вася", "Петя", "Маша", "Аня"
};

Нам надо ее сериализовать в удобный нам вид и сохранить в файл:
*Как я уже говорил, буду использовать JSON, а с ним очень легко работать при помощи библиотеки Newtonsoft.Json (устанавливаем через NuGet).

var jsonString = JsonConvert.SerializeObject(Names);
File.WriteAllText("MyData.json", jsonString);

После этого у нас будет создан файл MyData.json, который будет содержать внутри себя наш сериализованный объект в JSON формате:

["Вася","Петя","Маша","Аня"]

Теперь делаем обратное, вытягиваем данные из файла, десерилизируем и получаем обратно List<string>:

var file = File.ReadAllText("MyData.json");
List<string> Names = JsonConvert.DeserializeObject<List<string>>(file);

Вот собственно и все, такими простыми действиями мы "загоняем" данные в файл и в дальнейшем читаем его. Формат, а также объект могут быть разными, это уже как вам заучиться и что удобней.
Вобщем удачи в изучении C#!

READ ALSO
Передать значение $_SERVER одного домена в другой домен

Передать значение $_SERVER одного домена в другой домен

У меня получается получить значении таким образом (работаю c разными доменами):

171
Проблема с парсингом на PHP

Проблема с парсингом на PHP

Надо написать парсер на phpС яндексом работает нормально, но youtube

152
Сильно лагает/тормозит при скроле сайт

Сильно лагает/тормозит при скроле сайт

сильно лагает при скроле сайт , пытался отследить ( оптимизировать) ничего не вышло http://glavnarzanru/ страница досуг самая лагающая

166