关于C#中读写Config文件配置数据的说明

在编写C#程序时,我们可以为每个应用程序创建一个默认的配置文件,一般命名为App.config,其在编译后将会生成一个以应用程序名称命名的并且后缀名为config的文件。我们可以将需要的配置信息记录在该文件的configuration/appSettings节点下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="key1" value="value1"/>
    <add key="key2" value="value2"/>
  </appSettings>
</configuration>

该文件实际是一个以configuration为根节点的XML文件,其除了可以用appSettings节点来配置一些常规的数据外,还可以使用其他很多节点来配置应用程序的相关运行数据和环境,如assemblyBinding(程序集绑定)、connectionStrings(连接字符串)等。对该配置文件的读写除了可以采用常规的读写XML文件方法外,我们还可以通过C#中的静态类ConfigurationManager(在System.Configuration.dll中)来管理配置数据。

一、读取配置数据:
使用ConfigurationManager类的AppSettings属性(或者ConnectionStrings属性)来读取配置文件数据:

// 使用key属性读取
string value1 = ConfigurationManager.AppSettings["key1"];
// 使用索引读取
string value2 = ConfigurationManager.AppSettings[1];

二、写入配置数据:
使用ConfigurationManager类的Configuration对象来写入配置文件数据:

// 获取可修改的配置对象
Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// 获取AppSettings的配置集合
KeyValueConfigurationCollection settings = configuration.AppSettings.Settings;
// 移除配置项
settings.Remove("key1");
settings.Remove("key2");
// 写入配置项
settings.Add("key", "value");
// 保存修改过的配置信息
configuration.Save(ConfigurationSaveMode.Modified);
// 刷新配置节点,使程序在下次检索时重新从磁盘中读取。
ConfigurationManager.RefreshSection("appSettings");

更多信息请参阅:ConfigurationManager 类 (System.Configuration)

发表回复