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#程序设计有所帮助


猜你喜欢
- ElGamal数字签名,供大家参考,具体内容如下一、实验目的学习ElGamal算法在数字签名方面的使用,掌握教科书版本的ElGamal数字签
- if (textBox1.InvokeRequired) {  
- 一、概述1、事务ACID特性事务将一系列的工作视为一个工作单元,它具有 ACID 特性:A:Atomicity 不可分性 也就是说
- 方案一.使用国内的镜像阿里仓库等首先通过maven的路径找到setting.xml的文件然后在其中修改mirror和profile保存一下就
- AbstractHandlerMapping实现HandlerMapping接口定的getHandler1. 提供getHandlerInt
- 目录int和Integer的区别及自动装箱和自动拆箱Integer和int的对比,如下所示:自动装箱和自动拆箱:Integer的自动拆装箱的
- 多线程经常访问同一资源可能造成什么问题竞态条件和死锁如果两个或多个线程访问相同的对象,或者访问不同步的共享状态 ,就会出现竞态条件;为了避免
- 下载工具我想没有几个人不会用的吧,前段时间比较无聊,花了点时间用java写了个简单的http多线程下载程序,纯粹是无聊才写的,只实现了几个简
- //Main:using System;using System.Collections.Generic;using System.Linq
- 这篇文章主要介绍了Java接口统一样式返回模板简介,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 前言:项目是c#的winform 写的,使用的播放器是基于AxWindowsMediaPlayer。AxWindowsMediaPlayer
- Android超清晰6.0权限申请AndPermission的具体实现代码,供大家参考,具体内容如下前言这是我经常使用的框架,原因:1.思路
- 消息都是存放在一个消息队列中去,而消息循环线程就是围绕这个消息队列进入一个无限循环的,直到线程退出。如果队列中有消息,消息循环线程就会把它取
- 问题背景公司的项目需要前后端分离,vue+java,这时候就需要支持Cors跨域请求了。最近对zuul进行升级,假如说zuul是1.0的话,
- 本文为大家分享了javaweb实现app扫码登录的具体代码,供大家参考,具体内容如下1.web页面主动向服务器索要一张由服务器生成包含维一标
- 本文实例讲述了Java实现二分查找算法。分享给大家供大家参考。具体如下:1. 前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的
- 推送系统作为通用的组件,存在的价值主要有以下几点会被多个业务项目使用,推送系 * 立维护可降低维护成本推送系统一般都是调用三方api进行推送,
- 介绍:kaptcha 是谷歌开源的非常实用的验证码生成工具一、导入jar包<!-- kaptcha验证码 --><depe
- Java中有四种权限修饰符publicprotected(default)private同一个类yesyesyesyes同一个包yesyes
- 引入假定我们有两个项目:Cup 和 Water,其中 Cup 表示主项目,而 Water 表示子模块项目。其中 Cup 的远程仓库地址为 g