[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;

        }

    }

}

测试效果:

image

希望有所帮助!

你可能感兴趣的:(配置文件)