0

有没有办法将值初始化为特定值以外的内存地址?我有一个在启动时打开的 winform,我希望它可以保存用户以前的条目。我的(蹩脚的)想法是嵌入一个文本文件并将该文件中的值读取到相关变量中?有没有更专业/更清洁的方式来做我想做的事?

为了清楚起见,假设我有一个变量:string pet = "dog". 稍后在程序中用户会将这个值更改为"fish". 现在我想将该值存储在某处,并在发生断电事件时保留它,以便在程序重新启动时,该变量pet将被初始化为存储的内存值,"fish".

4

3 回答 3

2

对象序列化是您正在寻找的。请参阅此处了解更多信息。

根据您的需要,有几种方法可以做到这一点。写入/读取文本文件是一种解决方案。

于 2016-11-25T16:00:11.483 回答
1

实现您想要的一个好方法是使用“设置”

配置后,您可以在代码中的用户或应用程序级别设置它们,如下所示:

Properties.Settings.Default.Pet = "dog";
Properties.Settings.Default.Save();

https://msdn.microsoft.com/en-us/library/aa730869(v=vs.80).aspx

于 2016-11-25T16:11:49.620 回答
0

执行此操作的常用方法是将其存储在注册表中。这是一个虽然有点旧的教程,但可以帮助您了解总体思路:

所有你想知道的关于 C# 的注册表

使用文本文件也没有错。请记住事物的安全方面。无论您将其存储在何处,都需要确保您具有写入权限。出于这个原因,一些应用程序使用位于应用程序根文件夹中的配置文件。使用注册表时还应考虑用户上下文。

于 2016-11-25T16:03:18.667 回答