C# 操作設定檔 App.config的詳解

來源:互聯網
上載者:User

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的詳解的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.