【发布时间】:2015-07-19 07:33:23
【问题描述】:
我有Dictionary<string, double>,我想在重新启动应用程序时保存并恢复它。据我所知,您无法在 c# 中存储字典,因此尝试解决此问题。
目前我已经在名为DB 的设置中创建了字符串变量,并尝试使用这样的东西:
var settings = dict.ToArray();
var prop = Properties.Settings.Default.DB;
制作类似prop = settings;的东西
到目前为止,我已经这样做了,尽管它现在正在工作..
private void SaveSettings()
{
var settings = spamPercentage.ToArray();
var prop = Properties.Settings.Default.DB;
string res = String.Join(",", settings);
prop = res;
}
private void LoadSettings()
{
var prop = Properties.Settings.Default.DB;
var dictionary = prop.ToDictionary(item => item.Key,
item => item.Value);
}
编辑 字典中的值如下所示:
{[john, 0,53]}
{[ivone, 0,44]}
etc.
@编辑 使用 Julien JSON 的想法,我做了:
string prop = Properties.Settings.Default.DB;
private void SaveSettings()
{
prop = JsonConvert.SerializeObject(dict);
Properties.Settings.Default.Save();
}
private void LoadSettings()
{
dict= JsonConvert.DeserializeObject<Dictionary<string, double>>(prop);
}
当我点击程序并使用我的 SaveSettings 方法时,我可以看到它具有值。然后我重新启动程序,并尝试 loadsettings,它们为空。
【问题讨论】:
-
您不应将此类数据写入设置。一个更好的主意是例如 xml 文件。
-
你能看这里吗stackoverflow.com/questions/922047/…,我想它会回答你的问题
标签: c# wpf dictionary settings converter