首页 > 解决方案 > Properties.Settings.Default.Save() 不会保存我的更改

问题描述

我有一个用户设置,我想增加 1。例如,如果当前值是 97,我希望新值是 98。下一次,它应该增加到 99,等等。

我写了下面的代码,但是执行后,值没有变化。我做错了什么?

int thumb = Properties.Settings.Default.Thumbnail;
thumb = thumb + 1;
Properties.Settings.Default.Save();

标签: c#

解决方案


在这里,您创建一个局部变量thumb,其中包含当前存储在您的设置中的值的本地副本:

int thumb = Properties.Settings.Default.Thumbnail;

在这里,您增加本地副本:

thumb = thumb + 1;

在这里,您像以前一样保存值(因为您只增加了本地副本):

Properties.Settings.Default.Save();

因此,要解决您的问题,您必须在设置中明确设置新值:

int thumb = Properties.Settings.Default.Thumbnail;
thumb = thumb + 1;

// add this:
Properties.Settings.Default.Thumbnail = thumb;

Properties.Settings.Default.Save();

推荐阅读