Лучший способ сохранить значения переменных в случае отключения питания?
Есть ли способ инициализировать значение по адресу памяти, отличному от определенного значения? У меня есть winform, которая открывается при запуске, и я хотел бы сохранить предыдущие записи пользователя. Моя (дрянная) идея состоит в том, чтобы встроить текстовый файл и прочитать значение из этого файла в соответствующие переменные? Есть ли более профессиональный / чистый способ делать то, что я хочу?
Чтобы было понятно, скажем, у меня есть переменная: string pet = "dog"
, Позже в программе пользователь изменит это значение, чтобы сказать "fish"
, Теперь я хочу сохранить это значение где-нибудь и сохранить его в случае отключения питания, чтобы при перезапуске программы переменная pet
будет инициализирован к сохраненному значению памяти, "fish"
,
3 ответа
Хороший способ достичь того, что вы хотите, это использовать "Настройки"
После настройки вы можете установить их на уровне пользователя или приложения в своем коде следующим образом:
Properties.Settings.Default.Pet = "dog";
Properties.Settings.Default.Save();
https://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx
Сериализация объектов - это то, что вы ищете. Смотрите здесь для получения дополнительной информации.
Есть несколько способов сделать это в зависимости от ваших потребностей. Запись в / чтение из текстового файла является решением среди других.
Распространенный способ сделать это - сохранить его в реестре. Вот учебник, который хоть и немного устарел, но поможет вам с общей идеей:
Все, что вы хотели знать о реестре с C#
Ничего плохого в использовании текстового файла тоже нет. Просто имейте в виду аспект безопасности вещей. Где бы вы ни хранили его, вам необходимо убедиться, что у вас есть права на запись. По этой причине некоторые приложения используют файлы конфигурации, которые находятся в корневой папке приложения. Пользовательский контекст также следует учитывать при использовании реестра.