• 技术文章 >后端开发 >C#.Net教程

    C# 操作配置文件 App.config的详解

    黄舟黄舟2017-03-02 11:29:30原创1470

    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的详解的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:在C#实现托盘效果的详细介绍 下一篇:VB 操作ACCESS 实例 练习题--ATM取款机 代码段
    PHP编程就业班

    相关文章推荐

    • 分享一道逻辑面试题,看看你能答对吗!• C++设计模式浅识装饰模式• C#基础知识整理:基础知识(11) 值类型,引用类型• C/C++深度分析• C# 2.0 Specification(泛型六)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网