Dictionary
是处理代码中的键/值信息的好选择。最好保持配置文件简洁明了,因此不要将所有 300 个键和值都放在那里。您可以使用 XML 序列化在单独的 XML 文件中轻松存储(和加载)大量或大量自定义设置。看起来很适合你的情况。
使用此示例代码将数据保存到 XML 或从 XML 加载数据。
public class KeyValue
{
public string Key;
public string Value;
}
static void Save()
{
// some test data
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("key1", "value1");
dict.Add("key2", "value2");
dict.Add("key3", "value3");
dict.Add("key4", "value4");
// convert to List
List<KeyValue> list1 = (from itm in dict
select new KeyValue
{
Key = itm.Key, Value = itm.Value
}).ToList();
// serialize
using (StreamWriter sw = new StreamWriter("C:\\temp\\config.xml"))
{
XmlSerializer xs = new XmlSerializer(typeof (List<KeyValue>));
xs.Serialize(sw, list1);
sw.Close();
}
}
static void Load()
{
// deserialize
using (StreamReader sr = new StreamReader("c:\\temp\\config.xml"))
{
XmlSerializer xs = new XmlSerializer(typeof (List<KeyValue>));
List<KeyValue> list2 = (List<KeyValue>) xs.Deserialize(sr);
sr.Close();
}
// convert to Dictionary
Dictionary<string, string> dict2 = list2.ToDictionary(x => x.Key, x => x.Value);
}
注意:您需要KeyValue
帮助类,因为其结果dict.ToList()
没有List<KeyValuePair<string,string>>
正确序列化。