关于c#:在应用程序设置中保存字典

Save Dictionary in application settings

我想这样做:

小精灵:

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 
   <setting1>
 
 
</setting1>
<setting2>
 
 
</setting2>

M.C.

1
2
3
4
5
6
7
8
Configuration config =
                    ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var appSettings = config.AppSettings;

Assert.equals(appSettings.Settings["setting1"]["key1"] =="value1");
Assert.equals(appSettings.Settings["setting1"]["key2"] =="value2");
Assert.equals(appSettings.Settings["setting2"]["key1"] =="value1");
Assert.equals(appSettings.Settings["setting2"]["key2"] =="value2");

我能接受类似的行为吗?

谢谢您!


您可以编写自己的配置部分——周围有许多教程。


在这个链接下找到了使用System.Configuration.NameValueSectionHandler的内置解决方案,谢谢大家!


最简单的答案是,不要使用点向键添加名称空间:

1
 

然后,如果您真的需要这样做的话,您可以在代码中将其转换为嵌套字典,而不需要太多的工作。