首页 > 学院 > 开发设计 > 正文

[C#]配置文件Section节点处理小计

2019-11-14 16:29:24
字体:
来源:转载
供稿:网友

有时候项目开发中,需用用配置文件来存储一些关于程序配置信息,这时候你可以选择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

希望有所帮助!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表