只为小站
首页
域名查询
文件下载
登录
C#
读取配置文件
的方法汇总
在C#编程中,配置文件通常用于存储应用程序的设置,如数据库连接字符串、API密钥或用户配置等。这些设置可以在不修改代码的情况下更改,使得应用程序更加灵活。本文将详细介绍六种不同的方法来读取C#中的配置文件。 1. 使用`ConfigurationManager`类: 这是最常见的
读取配置文件
的方法。C#的`System.Configuration`命名空间提供了`ConfigurationManager`类,可以直接访问`app.config`或`web.config`文件中的配置节。例如,对于上面的配置文件,我们可以创建自定义的配置节类,如`SQLConfiguration`和`AccountConfiguration`,然后使用`ConfigurationManager.GetSection`方法获取指定的配置节。示例代码如下: ```csharp using System.Configuration; class SQLConfiguration : ConfigurationSection { // ... } SQLConfiguration sqlConfig = (SQLConfiguration)ConfigurationManager.GetSection("SQLConfiguration"); Console.WriteLine(sqlConfig.Type); Console.WriteLine(sqlConfig.ConnectionString); ``` 2. 使用`ConfigurationElement`和`ConfigurationSection`: 这种方法允许自定义配置元素和节。例如,我们可以创建一个`AccountConfiguration`类,它继承自`ConfigurationSection`,并定义一个`AccountSectionElement`类,继承自`ConfigurationElement`,来表示`users`元素。然后通过属性访问配置值: ```csharp public class AccountConfiguration : ConfigurationSection { // ... } public class AccountSectionElement : ConfigurationElement { // ... } AccountConfiguration accountConfig = (AccountConfiguration)ConfigurationManager.GetSection("AccountConfiguration"); AccountSectionElement user = accountConfig.Users; Console.WriteLine(user.UserName); Console.WriteLine(user.Password); ``` 3. 使用`ExeConfigurationFileMap`: 如果你的应用程序配置文件不在默认位置,可以使用`ExeConfigurationFileMap`类指定文件路径: ```csharp var fileMap = new ExeConfigurationFileMap(); fileMap.ExeConfigFilename = "path_to_your_config_file"; Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); // 然后使用config对象进行读取操作 ``` 4. 使用`ConfigurationBuilder`: .NET Core引入了`Microsoft.Extensions.Configuration`包,提供了更灵活的配置系统。可以使用`ConfigurationBuilder`来加载多个配置源,包括JSON、XML和环境变量: ```csharp using Microsoft.Extensions.Configuration; IConfigurationBuilder builder = new ConfigurationBuilder() .AddXmlFile("appsettings.xml", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); string connectionString = configuration.GetConnectionString("SQLConfiguration"); ``` 5. 使用`XDocument`或`XmlDocument`: 如果你不关心配置节的强类型化,可以直接使用XML处理库解析配置文件: ```csharp using System.Xml.Linq; XDocument doc = XDocument.Load("appsettings.xml"); string connectionString = doc.Descendants("SQLConfiguration").First().Attribute("connectionString").Value; ``` 6. 使用`StreamReader`和`XmlReader`: 这是一种基础的读取XML文件的方法,适合对文件进行逐行或逐节点处理: ```csharp using System.IO; using System.Xml; using(StreamReader reader = new StreamReader("appsettings.xml")) { using(XmlReader xmlReader = XmlReader.Create(reader)) { while(xmlReader.Read()) { if(xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "SQLConfiguration") { xmlReader.MoveToNextAttribute(); if(xmlReader.Name == "connectionString") { string connectionString = xmlReader.Value; break; } } } } } ``` 以上就是六种使用C#
读取配置文件
的方法。每种方法都有其适用场景,根据项目需求和团队习惯选择合适的方式。记得在实际开发中,要确保正确处理异常,以及在读取敏感信息时采取适当的加密措施。
2024-07-04 15:24:49
28KB
C#读取配置文件
1
c#读取自定义配置文件
在开发Asp.net站点的时候,我们会遇到很多的配置参数:网站名称,上传图片后缀,上传文件后缀,关键字过滤,数据库连接字串等等,这些内容如果比较少的话,直接配置到Web.config文件中,借由.NET提供的操作类,将会非常方便的来操作这些自定义配置节点,此代码中包含简单、有父节点、和节点集合的配置与读取方法,注释也很清晰,值得参考
2024-05-21 16:14:59
47KB
读取配置文件
1
读取配置文件
工具类.rar
工具类里分读取.yml工具类和.properties工具类,结合博客描述使用,用不到的方法可根据个人情况删除,
2023-12-14 15:21:17
6KB
读取配置文件
properties
1
QtApplets-实时
读取配置文件
https://dreamlife.blog.csdn.net/article/details/121215034
2022-10-26 19:07:37
2KB
Qt
QSetting
ini
1
qt托盘+保活程序源码,内含打包好的可执行程序
qt托盘+保活程序源码 qt的托盘程序,有右键菜单,可以隐藏至右下角,且启动时有右下角Windows提示框 通过配置文件可以灵活配置需要保活的程序 程序内部封装了
读取配置文件
的类,用来直接
读取配置文件
中的数据
2022-08-11 17:15:36
16.25MB
qt
托盘程序
保活程序
读取配置文件
1
Python
读取配置文件
(config.ini)以及写入配置文件
一、
读取配置文件
我的目录如下,在config下有一个config.ini配置文件 配置文件内容 # 定义config分组 [config] platformName=Android appPackage=com.romwe appActivity=com.romwe.SplashActivity # 定义cmd分组 [cmd] viewPhone=adb devices startServer=adb start-server stopServer=adb kill-server install=adb install aaa.apk id=1 weight=12.1\nisChoice=
2022-06-21 17:04:53
116KB
c
config
IN
1
jquery.i18n.properties.js.rar
jquery.i18n.properties-min-1.0.9.js前端国际化文件,项目中用到的前端国际化文件。 $.i18n.properties( { name : 'web_i18n', // Resource name path : '/resources/i18n/', //Resource path cache : true, mode : 'map' }); 文件加载,使用$.i18n.prop(key)获取value
2022-06-09 17:49:29
8KB
jquery.i18n.prop
js读取配置文件
1
基于Qt的
读取配置文件
读取XXX.ini配置文件里面数据信息 1.在使用中把CIniFile类添加到项目当中,并在使用的类引用CIniFile类 2.m_iniFile = new CIniFile(QCoreApplication::applicationDirPath()+ MoonlightService); [MoonlightService这个string串就是
读取配置文件
的路径,可以写成宏函数] 3.在判断完m_iniFile是否为空, 接下来就是可以使用了 举例: if (m_iniFile != NULL){ strRet = m_iniFile->GetValue("moonlightService", "DIPAddr"); } 4.最后在析构函数记得再判断释放这个碎片化的堆空间(严谨做法) 举例: if (m_iniFile != NULL){ delete m_iniFile; m_iniFile = NULL; }
2022-02-24 21:00:44
2KB
qt
开发语言
1
IIS7/iis7.5 HTTP Error 500.19 配置错误由于权限不足而无法
读取配置文件
的解决办法
主要介绍了IIS7/iis7.5 配置错误由于权限不足而无法
读取配置文件
的解决办法 ,需要的朋友可以参考下
2021-12-19 16:03:01
45KB
权限不足
无法读取配置文件
1
动力节点_Java基础视频教程141_
读取配置文件
动力节点的Java课程适合绝对零基础的观看,教程中讲解了Java开发环境搭建、Java的基础语法、Java的面向对象。每一个知识点都讲解的非常细腻,由浅入深。适合非计算机专业,想转行做Java开发的朋友,或者想让Java基础更扎实的小伙伴,配套资料下载:http://www.bjpowernode.com/?csdn
2021-12-01 14:01:46
53.18MB
Java零基础
Java学习
Java教程
Java视频
1
个人信息
点我去登录
购买积分
下载历史
恢复订单
热门下载
中国地面气候资料日值数据集(V3.0)2010-2019.rar
毕业设计:基于Python的网络爬虫及数据处理(智联招聘)
《应用非线性控制》(美)斯洛坦著;程代展译(清晰)
上帝之眼和拾荒者.rar
SSM外文文献和翻译(毕设论文精品).doc
RX560 bios合集(请务必注意显存品牌和大小以及是否需要6pin!)含刷新工具.zip
基于LSTM模型的股票预测模型_python
Elsevier爱思唯尔的word模板.zip
Plexim Plecs Standalone 4.1.2 x64.7z
基于VMD算法的信号降噪.rar
大学生网页设计大作业-5个网页设计制作作品自己任选
android studio课程设计作业PPT+设计文档+可运行源代码+设计思路
基于STM32的FFT频谱分析+波形识别
YOLOv5 人脸口罩图片数据集
2019年秋招—华为硬件工程师笔试题目.pdf
最新下载
亮剑Java项目开发案例导航 源码
PDG文件批量转换PDF
用友加密狗senseDrv驱动
猫羽雫windows鼠标指针,全网首发,绝无仅有
CascadeSharp:OpenCascade的开源.NET Core实现-源码
实用安防监控visio图例.vsd
Eviews6.0版本绿色免费破解版下载
店铺图片抓手,一款完全免费的下载店铺商品图片的工具
环境风险预测软件 risksystem1.2.0.2
DXZX读秀咨询软-能咨询就能下载
其他资源
R4烧录卡NDS内核,绝对可用
网络教学辅助平台.rar
学校教学楼
小波基础及应用教程
《PHP网站开发实例教程》配套资源.zip
基于matlab的人脸识别
vc++ 2005 express 完整安装包
java写的图书管理系统(Myeclipse)
1stopt软件破解版
集成固体微波电路-射频设计基础
Autodesk 2016 注册机
CRESTRON(快思聪)编程说明文档
耶苏莱-源码
kadai提交-源码
day04-服务的具体实现以及MybatisPlus的入门.zip
OracleHelper oracle数据库访问 多种方式 可靠 强大
信号与线性系统分析课堂笔记
Python爬虫文件:爬取图片的程序.py
ADS设计传输线,天线 视频
Netty同步等待数据返回实例代码
广工操作系统2010-2016年试卷
学生管理系统c#
基于quartus II 设计的全加器VHDL,逻辑图以及VWF
Web网站开发项目案例
c++实现语音聊天室