zoukankan      html  css  js  c++  java
  • C# 操作配置文件App.Config

    在C#出现以前,应用程序通常都是采用ini或xml作为配置文件,但C#出现后,大部分程序员还是选择用可操作性强的.config应用程序配置文件的。所以,为了操作方便,通常需要写一个通用类。网上有很多这样的通用类,但我觉得我写的这个通用辅助类对于我来说很方便,看各人喜好喽。

    using System;
    using System.Linq;
    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<stringstring> GetConfig()
            {
                Dictionary
    <stringstring> dict = new Dictionary<stringstring>();
                
    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<stringstring> 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; }
            }
        }
    }
     爱戴客 - 可穿戴设备第一门户
     网址:www.ideek.cn
     微博:www.weibo.com/ideek
     为可穿戴设备爱好者提供最新、最专业的可穿戴设备产品和资讯信息。
  • 相关阅读:
    Call指令和Ret指令讲解06 零基础入门学习汇编语言53
    【CSDN2012年度博客之星】喜欢本博客的读者,投票赠送《visual C++2010开发权威指南》电子稿感谢支持 ~(截至到2012年12月30日)
    本人新书< Visual C#2010开发权威指南>出版感谢大家一如既往的支持感谢CSDN总裁蒋涛以及他率领的CSDN团队提供的支持!
    在Windows Azure虚拟机上的SQL Server新教程
    Windows Azure Active Directory处理2000 亿个身份验证连接全球的人、 数据和设备
    宣布降低Windows Azure Storage的定价
    本人新书< Windows CE 7开发实战详解>出版感谢大家一如既往的支持感谢CSDN总裁蒋涛以及他率领的CSDN团队提供的支持!
    基于VC++2012图形化解决皇后问题
    3个 Windows Azure SQL Reporting开发的最佳做法
    现实世界的 Windows Azure: IT 公司提高其旗舰产品,为更多客户提供云解决方案
  • 原文地址:https://www.cnblogs.com/schwann/p/1997302.html
Copyright © 2011-2022 走看看