C#操作配置文件App.Config幫助類庫(kù)源碼

1,實(shí)現(xiàn)根據(jù)鍵值獲取配置文件

2,獲取所有配置文件

3,根據(jù)鍵值獲取配置文件

4,寫配置文件,如果節(jié)點(diǎn)不存在則自動(dòng)創(chuàng)建的功能


using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
 
namespace CommLibrary
{
    public class ConfigHelper
    {
        /// <summary>
        /// 根據(jù)鍵值獲取配置文件
        /// </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>
        /// 根據(jù)鍵值獲取配置文件
        /// </summary>
        /// <param name="key">鍵值</param>
        /// <param name="defaultValue">默認(rèn)值</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>
        /// 寫配置文件,如果節(jié)點(diǎn)不存在則自動(dòng)創(chuàng)建
        /// </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>
        /// 寫配置文件(用鍵值創(chuàng)建),如果節(jié)點(diǎn)不存在則自動(dòng)創(chuàng)建
        /// </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; }
        }
    }
}


原文鏈接:C#操作配置文件App.Config幫助類ConfigHelper