c# 操作配置文件 app.config的详解
using system;
using system.collections.generic;
using system.text;
using system.configuration;
namespace schwann.commlibrary
{
public class confighelper
{
/// <summary>
/// 根据键值获取配置文件
/// </summary>
/// <param name="key">键值</param>
/// <returns></returns>
public static string getconfig(string key)
{
string val = string.empty;
if (configurationmanager.appsettings.allkeys.contains(key))
val = configurationmanager.appsettings[key];
return val;
}
/// <summary>
/// 获取所有配置文件
/// </summary>
/// <returns></returns>
public static dictionary<string, string> getconfig()
{
dictionary<string, string> dict = new dictionary<string, string>();
foreach (string key in configurationmanager.appsettings.allkeys)
dict.add(key, configurationmanager.appsettings[key]);
return dict;
}
/// <summary>
/// 根据键值获取配置文件
/// </summary>
/// <param name="key">键值</param>
/// <param name="defaultvalue">默认值</param>
/// <returns></returns>
public static string getconfig(string key, string defaultvalue)
{
string val = defaultvalue;
if (configurationmanager.appsettings.allkeys.contains(key))
val = configurationmanager.appsettings[key];
if (val == null)
val = defaultvalue;
return val;
}
/// <summary>
/// 写配置文件,如果节点不存在则自动创建
/// </summary>
/// <param name="key">键值</param>
/// <param name="value">值</param>
/// <returns></returns>
public static bool setconfig(string key, string value)
{
try
{
configuration conf = configurationmanager.openexeconfiguration(configurationuserlevel.none);
if (!conf.appsettings.settings.allkeys.contains(key))
conf.appsettings.settings.add(key, value);
else
conf.appsettings.settings[key].value = value;
conf.save();
return true;
}
catch { return false; }
}
/// <summary>
/// 写配置文件(用键值创建),如果节点不存在则自动创建
/// </summary>
/// <param name="dict">键值集合</param>
/// <returns></returns>
public static bool setconfig(dictionary<string, string> dict)
{
try
{
if (dict == null || dict.count == 0)
return false;
configuration conf = configurationmanager.openexeconfiguration(configurationuserlevel.none);
foreach (string key in dict.keys)
{
if (!conf.appsettings.settings.allkeys.contains(key))
conf.appsettings.settings.add(key, dict[key]);
else
conf.appsettings.settings[key].value = dict[key];
}
conf.save();
return true;
}
catch { return false; }
}
}
}
上一篇学习了配置文件读取的处理方式,但是没有对经常用到的 <appsettings>进行学习,其实这些参数的读取要简单得多:
假设有如下配置参数
<appsettings>
<add key="address" value="china"/>
</appsettings>
读取:
string address=system.configuration.configurationmanager.appsettings["address"].tostring();
事实就是这么简单
以上就是c# 操作配置文件 app.config的详解的内容。