以下是关于C#读写config配置文件的完整攻略。
1. 创建配置文件
首先,我们需要创建一个配置文件,可以使用Visual Studio自带的配置管理器创建,也可以手动创建一个XML文件并修改后缀为.config。下面是一个简单的配置文件示例:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ConnectionString" value="Data Source=.;Integrated Security=True" />
<add key="MaxThreads" value="8" />
</appSettings>
<connectionStrings>
<add name="MyDBConn" connectionString="Data Source=.;Initial Catalog=MyDB; Integrated Security=True" />
</connectionStrings>
</configuration>
需要注意的是,配置文件的根节点必须是<configuration>
2. 读取配置文件
要读取配置文件的值,可以使用ConfigurationManager.AppSettings
或ConfigurationManage.ConnectionStrings
属性。下面是一个读取示例:
using System.Configuration;
...
string connectionString = ConfigurationManager.ConnectionStrings["MyDBConn"].ConnectionString;
int maxThreads = Int32.Parse(ConfigurationManager.AppSettings["MaxThreads"]);
其中,ConfigurationManager.AppSettings
获取appSettings
节点下的设置,ConfigurationManager.ConnectionStrings
获取connectionStrings
节点下的设置。ConfigurationManager.AppSettings[key]
方法可以根据指定的key获取对应的值,ConfigurationManager.ConnectionStrings[name]
方法同理。
3. 写入配置文件
如果需要修改配置文件的值,可以使用Configuration
类操作配置文件。示例如下:
using System.Configuration;
...
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["MaxThreads"].Value = "10"; // 修改MaxThreads的值为10
config.Save(ConfigurationSaveMode.Modified); // 保存更改
ConfigurationManager.RefreshSection("appSettings"); // 刷新配置文件
在代码中,我们首先获取Configuration
对象,然后通过AppSettings.Settings[key].Value
或ConnectionStrings.ConnectionStrings[name].ConnectionString
的方式读取或修改值,最后使用Save
方法保存更改(注意设置ConfigurationSaveMode.Modified
),并使用RefreshSection
方法刷新配置文件以便立即生效。
4. 示例说明
示例1:
假设我们的配置文件中有一个名为IsAdmin
的布尔变量,我们需要在代码中判断当前用户是否是管理员。下面是示例代码:
using System.Configuration;
...
bool isAdmin = Boolean.Parse(ConfigurationManager.AppSettings["IsAdmin"]);
if (isAdmin)
{
// 管理员权限
}
else
{
// 非管理员权限
}
示例2:
假设我们的配置文件中定义了多个数据库连接字符串,我们需要在代码中根据不同的情况切换数据库,下面是示例代码:
using System.Configuration;
...
string connName = "MyDBConn";
if (condition1)
{
connName = "DBConn1";
}
else if (condition2)
{
connName = "DBConn2";
}
string connectionString = ConfigurationManager.ConnectionStrings[connName].ConnectionString;
在代码中,我们根据不同的条件切换不同的数据库连接字符串,并使用ConfigurationManager.ConnectionStrings[name]
获取对应的连接字符串。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#读写config配置文件的方法 - Python技术站