在断电时保留变量值的最佳方法?
Best way to retain variable values in the event of power off?
有没有办法将值初始化为特定值以外的内存地址?我有一个在启动时打开的 winform,我希望它能保存用户以前的条目。我的(蹩脚的)想法是嵌入一个文本文件并将该文件中的值读入相关变量?有没有更专业/更简洁的方法来做我想做的事?
为了清楚起见,假设我有一个变量:string pet = "dog"
。稍后在程序中,用户会将此值更改为 "fish"
。现在我想将该值存储在某处,并在发生断电事件时保留它,以便在程序重新启动时,变量 pet
将被初始化为存储的内存值 "fish"
.
对象序列化正是您要寻找的。有关详细信息,请参阅 Here。
根据您的需要,有几种方法可以做到这一点。从文本文件写入 to/reading 是一种解决方案。
执行此操作的常用方法是将其存储在注册表中。这是一个教程,虽然有点旧,但可以帮助您了解总体思路:
All you wanted to know about the registry with C#
使用文本文件也没有问题。请记住事物的安全方面。无论将其存储在何处,都需要确保您具有写入权限。出于这个原因,一些应用程序使用位于应用程序根文件夹中的配置文件。使用注册表时还应考虑用户上下文。
实现你想要的一个好方法是使用'Settings'
配置完成后,您可以在代码中像这样在用户或应用程序级别设置它们:
Properties.Settings.Default.Pet = "dog";
Properties.Settings.Default.Save();
https://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx
有没有办法将值初始化为特定值以外的内存地址?我有一个在启动时打开的 winform,我希望它能保存用户以前的条目。我的(蹩脚的)想法是嵌入一个文本文件并将该文件中的值读入相关变量?有没有更专业/更简洁的方法来做我想做的事?
为了清楚起见,假设我有一个变量:string pet = "dog"
。稍后在程序中,用户会将此值更改为 "fish"
。现在我想将该值存储在某处,并在发生断电事件时保留它,以便在程序重新启动时,变量 pet
将被初始化为存储的内存值 "fish"
.
对象序列化正是您要寻找的。有关详细信息,请参阅 Here。
根据您的需要,有几种方法可以做到这一点。从文本文件写入 to/reading 是一种解决方案。
执行此操作的常用方法是将其存储在注册表中。这是一个教程,虽然有点旧,但可以帮助您了解总体思路:
All you wanted to know about the registry with C#
使用文本文件也没有问题。请记住事物的安全方面。无论将其存储在何处,都需要确保您具有写入权限。出于这个原因,一些应用程序使用位于应用程序根文件夹中的配置文件。使用注册表时还应考虑用户上下文。
实现你想要的一个好方法是使用'Settings'
配置完成后,您可以在代码中像这样在用户或应用程序级别设置它们:
Properties.Settings.Default.Pet = "dog";
Properties.Settings.Default.Save();
https://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx