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

时间:2021-05-20

本文实例总结了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#程序设计有所帮助

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章