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
     为可穿戴设备爱好者提供最新、最专业的可穿戴设备产品和资讯信息。
  • 相关阅读:
    洛谷.4717.[模板]快速沃尔什变换(FWT)
    BZOJ.4589.Hard Nim(FWT)
    BZOJ.1758.[WC2010]重建计划(分数规划 点分治 单调队列/长链剖分 线段树)
    BZOJ.4543.[POI2014]Hotel加强版(长链剖分 树形DP)
    Vijos.lxhgww的奇思妙想(k级祖先 长链剖分)
    Codeforces.741D.Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths(dsu on tree 思路)
    Codeforces.600E.Lomsat gelral(dsu on tree)
    11.7 NOIP模拟赛
    11.5 正睿停课训练 Day16
    Maven与Nexus3.x环境构建详解
  • 原文地址:https://www.cnblogs.com/schwann/p/1997302.html
Copyright © 2011-2022 走看看