news 2026/4/16 9:24:59

C#之App.Config文件操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C#之App.Config文件操作

C#之App.Config文件操作

/// <summary>/// 操作配置文件(App.config)/// </summary>publicclassCommonConfig{/// <summary>/// 输入Key的值,返回配置的值/// </summary>/// <param name="KeyName"></param>/// <returns></returns>publicstringReadConfig(stringKeyName){Configurationcfa=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);returncfa.AppSettings.Settings[KeyName].Value;}/// <summary>/// 根据配置的名称,查询独立的数据,读取app.config/// </summary>/// <param name="ProName"></param>/// <param name="KeyName"></param>/// <returns></returns>publicstringReadConfig(stringProName,stringKeyName){Configurationconfig=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);varmySection=config.GetSection(ProName)asCommonSection;foreach(CommonSection.CommonKeyValueSettingaddinmySection.KeyValues){if(add.Key==KeyName){returnadd.Value;}}returnnull;}/// <summary>/// 增加配置文件/// </summary>/// <param name="KeyName"></param>/// <param name="Value"></param>publicvoidAddConfig(stringKeyName,stringValue){Configurationcfa=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);cfa.AppSettings.Settings.Add(KeyName,Value);cfa.Save(ConfigurationSaveMode.Modified);ConfigurationManager.RefreshSection("appSettings");}/// <summary>/// 根据配置的名称,查询独立的数据,并添加独立的内容/// </summary>/// <param name="ProName"></param>/// <param name="KeyName"></param>/// <param name="Value"></param>/// <returns></returns>publicvoidAddConfig(stringProName,stringKeyName,stringValue){Configurationconfig=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);varmySection=config.GetSection(ProName)asCommonSection;mySection.KeyValues.Add(newCommonSection.CommonKeyValueSetting(){Key=KeyName,Value=Value});config.Save();ConfigurationManager.RefreshSection(ProName);//刷新}/// <summary>/// 删除配置文件/// </summary>/// <param name="KeyName"></param>publicvoidDeleteConfig(stringKeyName){Configurationcfa=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);cfa.AppSettings.Settings.Remove(KeyName);cfa.Save(ConfigurationSaveMode.Modified);ConfigurationManager.RefreshSection("appSettings");}/// <summary>/// 修改配置文件数据/// </summary>/// <param name="KeyName"></param>/// <param name="Value"></param>publicvoidWriteConfig(stringKeyName,stringValue){Configurationconfig=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);config.AppSettings.Settings[KeyName].Value=Value;config.Save(ConfigurationSaveMode.Modified);ConfigurationManager.RefreshSection("appSettings");}/// <summary>/// 根据配置的名称,查询独立的数据,并修改内容/// </summary>/// <param name="ProName"></param>/// <param name="KeyName"></param>/// <param name="Value"></param>/// <returns></returns>publicvoidWriteConfig(stringProName,stringKeyName,stringValue){Configurationconfig=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);varmySection=config.GetSection(ProName)asCommonSection;mySection.KeyValues.Remove(KeyName);mySection.KeyValues.Add(newCommonSection.CommonKeyValueSetting(){Key=KeyName,Value=Value});config.Save();ConfigurationManager.RefreshSection(ProName);//刷新}}/// <summary>/// 配置节点基类/// </summary>publicclassCommonSection:ConfigurationSection{privatestaticConfigurationPropertys_property=newConfigurationProperty(string.Empty,typeof(CommonKeyValueCollection),null,ConfigurationPropertyOptions.IsDefaultCollection);[ConfigurationProperty("",Options=ConfigurationPropertyOptions.IsDefaultCollection)]publicCommonKeyValueCollectionKeyValues{get{return(CommonKeyValueCollection)base[s_property];}}/// <summary>/// 自定义一个集合/// </summary>[ConfigurationCollection(typeof(CommonKeyValueSetting))]publicclassCommonKeyValueCollection:ConfigurationElementCollection{publicCommonKeyValueCollection():base(StringComparer.OrdinalIgnoreCase){}newpublicCommonKeyValueSettingthis[stringname]{get{return(CommonKeyValueSetting)base.BaseGet(name);}set{base[name]=value;}}protectedoverrideConfigurationElementCreateNewElement(){returnnewCommonKeyValueSetting();}protectedoverrideobjectGetElementKey(ConfigurationElementelement){return((CommonKeyValueSetting)element).Key;}publicvoidAdd(CommonKeyValueSettingsetting){this.BaseAdd(setting);}publicvoidClear(){base.BaseClear();}publicvoidRemove(stringname){base.BaseRemove(name);}}/// <summary>/// 集合中的每个元素/// </summary>publicclassCommonKeyValueSetting:ConfigurationElement{/// <summary>/// 键/// </summary>[ConfigurationProperty("key",IsRequired=true)]publicstringKey{get{returnthis["key"].ToString();}set{this["key"]=value;}}/// <summary>/// 值/// </summary>[ConfigurationProperty("value",IsRequired=true)]publicstringValue{get{returnthis["value"].ToString();}set{this["value"]=value;}}}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/24 15:43:40

项目管理中最大的浪费是什么?

项目管理里最大的浪费&#xff1f;不是人不够&#xff0c;也不是钱不够&#xff0c;是信息流断了。你想想&#xff0c;需求在Word里&#xff0c;任务在Jira里&#xff0c;测试用例在另一个Excel里&#xff0c;代码在Git里。任何一个地方改了点东西&#xff0c;其他所有地方都得…

作者头像 李华
网站建设 2026/4/16 9:19:42

企业自动化升级必看:Agentic AI如何重构软件工程与业务效率?

传统自动化VS Agentic AI&#xff1a;企业该押注稳定&#xff0c;还是拥抱智能革命&#xff1f;Agentic AI爆火&#xff1a;传统自动化会被淘汰吗&#xff1f;企业战略选型指南企业自动化升级必看&#xff1a;Agentic AI如何重构软件工程与业务效率&#xff1f;从被动执行到主动…

作者头像 李华
网站建设 2026/4/16 9:21:26

DeepSeek+Ollama+AnythingLLM:打造你的专属AI知识管家,一键收藏!

本文详细介绍了使用DeepSeek、Ollama和AnythingLLM搭建本地AI知识库的完整流程&#xff0c;包括软件安装、模型配置、文档上传和使用方法。文章强调了本地部署保护隐私的优势&#xff0c;并针对不同文档类型和嵌入模型配置提供了实用建议。通过这套方案&#xff0c;用户可在电脑…

作者头像 李华
网站建设 2026/4/15 0:25:33

2025最新rag综述——RAG工业界大规模落地

在这篇 2025 年最新的 RAG 综述中&#xff0c;研究者系统梳理了过去一年的技术进展&#xff0c;提出了新的分析视角&#xff0c;并探讨了未来的发展趋势。本系列文章对其进行了解读和日常案例挖掘。 在这篇文章里&#xff0c;我们结合吴恩达最新 RAG 教程&#xff0c;聚焦一个更…

作者头像 李华
网站建设 2026/4/14 17:39:10

Markdown emoji表情符号:Miniconda-Python3.10增添文档趣味性

Miniconda-Python3.10 与 Markdown Emoji&#xff1a;构建高效且生动的技术工作流 在今天的数据科学和人工智能项目中&#xff0c;一个常见的痛点是&#xff1a;“代码在我机器上跑得好好的&#xff0c;怎么换台设备就报错&#xff1f;”这种“可复现性危机”不仅拖慢开发节奏&…

作者头像 李华
网站建设 2026/4/14 23:35:48

清华镜像同步周期说明:Miniconda-Python3.10版本更新频率

清华镜像同步周期说明&#xff1a;Miniconda-Python3.10版本更新频率 在人工智能实验室的某个清晨&#xff0c;研究生小李正准备复现一篇论文中的实验。他照例打开终端&#xff0c;准备从官方源下载 Miniconda 安装包&#xff0c;结果进度条卡在 5% 长达十分钟——这已经是本周…

作者头像 李华