C# 操作配置文件 App.config
原文:http://www.cnblogs.com/253891489/articles/2008669.html
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 ; }
}
}
}
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();
事实就是这么简单