保存到 .settings 文件 2 种不同保存方式的区别
Save to .settings file diffrence between 2 diffrent ways of saving
我在 msdn 上阅读了 .settings
文件,我注意到他们提供了 2 个示例,说明如何在设置中设置项目的值。现在我的问题是 2 之间的真正区别是什么,什么时候你会使用一个而不是另一个,因为对我来说它们看起来非常相似。
To Write and Persist User Settings at Run Time
Access the user setting and assign it a new value, as shown in the following example:
Properties.Settings.Default.myColor = Color.AliceBlue;
If you want to persist changes to user settings between application sessions, call the Save method, as shown in the following code:
Properties.Settings.Default.Save();
第一条语句更新内存中的设置值。第二条语句更新磁盘上 user.config 文件中的持久化值。当您重新启动程序时,需要第二个语句来取回值。
认识到这两个语句 必须 分开并且永远不要在您的代码中写在一起非常非常重要。让它们靠近的是 harakiri-code。设置往往会在您的代码中实现不微妙的功能,使其以不同的方式运行。这并不总是经过完美测试。您强烈希望避免的是保留一个随后会导致程序崩溃的设置值。
这就是切腹角度,如果您保存了该值,那么当用户重新启动程序时,程序很可能会立即再次崩溃。或者换句话说,您的程序将永远不会 运行 再次正确。
当您有理由保证在使用新设置值时没有发生任何不良情况时,必须进行 Save() 调用。它属于您的 Main() 方法的末尾。仅在程序正常终止时到达。
我在 msdn 上阅读了 .settings
文件,我注意到他们提供了 2 个示例,说明如何在设置中设置项目的值。现在我的问题是 2 之间的真正区别是什么,什么时候你会使用一个而不是另一个,因为对我来说它们看起来非常相似。
To Write and Persist User Settings at Run Time Access the user setting and assign it a new value, as shown in the following example:
Properties.Settings.Default.myColor = Color.AliceBlue;
If you want to persist changes to user settings between application sessions, call the Save method, as shown in the following code:
Properties.Settings.Default.Save();
第一条语句更新内存中的设置值。第二条语句更新磁盘上 user.config 文件中的持久化值。当您重新启动程序时,需要第二个语句来取回值。
认识到这两个语句 必须 分开并且永远不要在您的代码中写在一起非常非常重要。让它们靠近的是 harakiri-code。设置往往会在您的代码中实现不微妙的功能,使其以不同的方式运行。这并不总是经过完美测试。您强烈希望避免的是保留一个随后会导致程序崩溃的设置值。
这就是切腹角度,如果您保存了该值,那么当用户重新启动程序时,程序很可能会立即再次崩溃。或者换句话说,您的程序将永远不会 运行 再次正确。
当您有理由保证在使用新设置值时没有发生任何不良情况时,必须进行 Save() 调用。它属于您的 Main() 方法的末尾。仅在程序正常终止时到达。