我正在阅读msdn上的.settings
文件,我注意到它们提供了2个如何在设置中设置项目值的示例。现在我的问题是2和你之间的真正差异是什么,你会使用一个而不是另一个,因为对我而言,它们看起来非常相似。
在运行时编写和保留用户设置 访问用户设置并为其分配新值,如以下示例所示:
Properties.Settings.Default.myColor = Color.AliceBlue;
如果要在应用程序会话之间保留对用户设置的更改,请调用Save方法,如以下代码所示:
Properties.Settings.Default.Save();
答案 0 :(得分:1)
第一个语句更新内存中设置的值。第二个语句更新磁盘上user.config文件中的持久值。当你重新启动程序时,需要第二个语句来获取值。
非常非常重要的是要认识到这两个语句必须是独立的,并且永远不要在代码中紧密地写在一起。保持关闭是 harakiri-code 。设置往往会在代码中实现不正确的功能,使其运行方式不同。哪个并不总是经过完美测试。你强烈要避免的是持久化设置值,随后崩溃你的程序。
这是harakiri角度,如果您保存了该值,那么当用户重新启动时,程序很可能会立即再次崩溃。或者换句话说,您的程序将永远无法再次正常运行。
当您有合理保证在使用新设置值时没有发生任何不良事件时,必须进行Save()调用。它属于Main()方法的末尾。只有在程序正常终止时才会到达。