保存为两种不同的保存方式之间的.settings文件差异

时间:2015-04-10 11:49:55

标签: winforms settings msdn

我正在阅读msdn上的.settings文件,我注意到它们提供了2个如何在设置中设置项目值的示例。现在我的问题是2和你之间的真正差异是什么,你会使用一个而不是另一个,因为对我而言,它们看起来非常相似。

  

在运行时编写和保留用户设置   访问用户设置并为其分配新值,如以下示例所示:

Properties.Settings.Default.myColor = Color.AliceBlue;
     

如果要在应用程序会话之间保留对用户设置的更改,请调用Save方法,如以下代码所示:

Properties.Settings.Default.Save();

1 个答案:

答案 0 :(得分:1)

第一个语句更新内存中设置的值。第二个语句更新磁盘上user.config文件中的持久值。当你重新启动程序时,需要第二个语句来获取值。

非常非常重要的是要认识到这两个语句必须是独立的,并且永远不要在代码中紧密地写在一起。保持关闭是 harakiri-code 。设置往往会在代码中实现不正确的功能,使其运行方式不同。哪个并不总是经过完美测试。你强烈要避免的是持久化设置值,随后崩溃你的程序。

这是harakiri角度,如果您保存了该值,那么当用户重新启动时,程序很可能会立即再次崩溃。或者换句话说,您的程序将永远无法再次正常运行。

当您有合理保证在使用新设置值时没有发生任何不良事件时,必须进行Save()调用。它属于Main()方法的末尾。只有在程序正常终止时才会到达。