C#配置文件Section节点处理总结

作者:shichen2014 时间:2022-09-21 06:29:08 

本文实例总结了C#配置文件Section节点处理方法。分享给大家供大家参考。具体如下:

很多时候在项目开发中,我们都需要用配置文件来存储一些关于程序配置信息,这时候你可以选择INI或者app.config来存储,这里对此总结一下:

配置文件示例如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="module">
      <section name="appSettings" type="System.Configuration.NameValueFileSectionHandler"/>
    </sectionGroup>
  </configSections>
  <module>
    <appSettings>
      <!--谷歌地图-->
      <add key="Googlemap" value="1"/>
      <!--箱实时状态信息汇总-->
      <add key="Cab_rt" value="1"/>
    </appSettings>
  </module>
</configuration>

操作代码如下:

using System;
using System.Collections.Specialized;
using System.Configuration;

namespace ConsoleApplication38
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                SectionToolV2 _sectionHelper = new SectionToolV2("module/appSettings");
                Console.WriteLine(_sectionHelper.GetValue("Googlemap"));
                Console.WriteLine(_sectionHelper.ContainKey("YanZhiwei"));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                Console.ReadLine();
            }
        }
    }
    class SectionToolV2
    {
        NameValueCollection ModulSettings = null;
        /// <summary>
        ///构造函数
        /// </summary>
        /// <param name="sectionName">section名称</param>
        public SectionToolV2(string sectionName)
        {
            ModulSettings = ConfigurationManager.GetSection(sectionName) as NameValueCollection;
        }
        /// <summary>
        /// 是否包含该Section
        /// </summary>
        /// <returns></returns>
        public bool ContainSection()
        {
            return !(ModulSettings == null);
        }
        /// <summary>
        /// Section是否包含Key
        /// </summary>
        /// <param name="key">键</param>
        /// <returns>值</returns>
        public bool ContainKey(string key)
        {
            if (ContainSection())
            {
                return !(ModulSettings[key] == null);
            }
            return false;
        }
        /// <summary>
        /// 根据键获取值
        /// </summary>
        /// <param name="Key">键</param>
        /// <returns>当不存在键的时候,返回string.Empty</returns>
        public string GetValue(string Key)
        {
            string _value = string.Empty;
            if (ContainKey(Key))
            {
                _value = ModulSettings[Key];
            }
            return _value;
        }
    }
}

测试效果如下:

C#配置文件Section节点处理总结

希望本文所述对大家的C#程序设计有所帮助

标签:C#,配置,文件,节点
0
投稿

猜你喜欢

  • 使用String类型小数值转换为Long类型

    2023-04-14 10:34:56
  • 浅析Java SPI 与 dubbo SPI

    2021-10-23 16:54:12
  • Java设计模式之装饰者模式详解

    2021-08-16 03:00:17
  • Java中Cookie和Session详解及区别总结

    2022-08-24 21:55:10
  • Spring Security基于JWT实现SSO单点登录详解

    2022-02-28 10:56:55
  • Eclipse下Javassist正确使用方法代码解析

    2021-07-24 18:43:57
  • Springboot与vue实现数据导出方法具体介绍

    2023-11-06 21:00:34
  • 如何写好一个Spring组件的实现步骤

    2023-01-08 20:24:12
  • 四步轻松搞定java web每天定时执行任务

    2022-03-31 20:57:08
  • Java实战之实现在线小说阅读系统

    2022-10-09 18:15:09
  • 基于Java实现简单贪吃蛇游戏

    2022-08-07 02:09:44
  • C++实现的O(n)复杂度内查找第K大数算法示例

    2023-06-30 15:51:13
  • IDEA 中使用 Hudi的示例代码

    2021-08-27 21:51:04
  • spring-cloud-gateway动态路由的实现方法

    2021-07-25 15:24:37
  • java动态线程池的简单实现思路

    2023-10-18 15:53:46
  • SpringBoot框架集成ElasticSearch实现过程示例详解

    2023-02-02 08:44:05
  • springboot自定义Starter过程解析

    2023-07-24 22:24:55
  • JAVA字符串占位符使用方法实例

    2021-09-20 17:30:27
  • Java面向对象之抽象类,接口的那些事

    2022-08-25 19:16:30
  • JavaMail入门教程之解析邮件(5)

    2023-11-29 08:25:13
  • asp之家 软件编程 m.aspxhome.com