• 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
     为可穿戴设备爱好者提供最新、最专业的可穿戴设备产品和资讯信息。
  • 相关阅读:
    .NET 云原生架构师训练营(模块二 基础巩固 MongoDB API实现)--学习笔记
    .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 问答系统)--学习笔记
    .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 聚合)--学习笔记
    .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 更新和删除)--学习笔记
    .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 写入和查询)--学习笔记
    .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 介绍和基础)--学习笔记
    .NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记
    .NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记
    动态路由里,将component字符串改变为路由懒加载方法
    渗透小记
  • 原文地址:https://www.cnblogs.com/schwann/p/1997302.html
Copyright © 2020-2023  润新知