当前位置: 首页 > news >正文

C# 通过ConfigurationManager读写配置文件App.Config

目录

  • 简述
  • 代码描述
    • 一、构建App.config
    • 二、调用代码
      • 1、代码步骤说明
      • 2、输出结果说明

简述

App.config 是 C#中最常用的配置文件类型。 通常位于项目的根目录中,以 XML 格式存储配置信息。App.config 文件可以包含多个配置节,如 appSettings、connectionStrings、system.web 等,用于存储不同的配置信息。如图资源管理器中引用中可以看到它的身影。它是引用.net库中的System.Configuration.dll文件。在这里插入图片描述
这里我们用appSettings节点的读写来简单描述一下它的使用。

代码描述

我们因为是配置信息,我们一般将其写在初始化或构造函数中提前读取,下面是代码构建步骤及说明。

一、构建App.config

中间的内容是我们构建或者说是添加的配置项目,一个key对应一个value值。

<?xml version="1.0" encoding="utf-8" ?>
<configuration><startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup><appSettings><add key="num" value="1"/></appSettings>
</configuration>

二、调用代码

1、代码步骤说明

  • 我们首先通过读取参数获取字符串的值,
  • 然后将字符串转整型后加1,
  • 最后再写入配置中,
  • 再次读取配置文件。
 public Form1(){InitializeComponent();add_one(); }private void add_one(){//读取参数string readStr = ConfigurationManager.AppSettings["num"];if (string.IsNullOrEmpty(readStr)){readStr = "0";}Console.WriteLine($"num1={readStr}");//+1string writeStr = (int.Parse(readStr) + 1).ToString();//写入新值Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);config.AppSettings.Settings["num"].Value = writeStr;config.Save(ConfigurationSaveMode.Minimal);Console.WriteLine($"num2={writeStr}");//再次读取仍然是原值//除非重新启动string rereadStr = ConfigurationManager.AppSettings["num"];Console.WriteLine($"num3={readStr}");}
打印输出
num1=8
num2=9
num3=8

2、输出结果说明

可以从打印输出可以看出,虽然改变了配置参数,但是重新读取的配置参数书不糊及变化的,这个是它的关键特殊所在,也就是说,一旦启动后无论如何改变它,读的值是不变的,相当于readonly。
但是如果重启后是什么情况呢,请小伙伴们自己试一试吧!

相关文章:

  • 场馆订 场馆预订平台 数据库设计
  • 【Tools】VScode使用CMake构建项目
  • 前端Web开发HTML5+CSS3+移动web(基础-flex)
  • 【计算机视觉】基于Python的相机标定项目Camera-Calibration深度解析
  • 学习通刷课稳定版(美化面板+完全免费)
  • 大学之大:苏黎世大学2025.5.11
  • OpenWrt开发第7篇:OpenWrt配置支持Web界面
  • GC垃圾回收
  • 「OC」源码学习—— 消息发送、动态方法解析和消息转发
  • 【RP2350】香瓜树莓派RP2350之USB虚拟串口
  • 操作系统 : 线程同步与互斥
  • 深入浅出之STL源码分析7_模版实例化与全特化
  • 「银河通用」创始人王鹤:人形机器人跳舞是预先编程,马拉松是遥控操作!
  • 【PostgreSQL系列】PostgreSQL性能优化
  • java加强 -Collection集合
  • HTML5表格语法格式详解
  • [Java实战]Spring Boot 中Starter机制与自定义Starter实战(九)
  • 端口号被占用怎么解决
  • 深入解析 Vision Transformer (ViT) 与其在计算机视觉中的应用
  • 计算机网络|| 常用网络命令的作用及工作原理
  • KPL“王朝”诞生背后:AG和联赛一起迈向成熟
  • 宝通科技:与宇树合作已签约,四足机器人在工业场景落地是重点商业化项目
  • 回望乡土:对媒介化社会的反思
  • 白玉兰奖征片综述丨综艺市场破局焕新,多元赛道重塑价值坐标
  • 俄总统新闻秘书:普京提议谈判表明俄寻求和平解决方案意愿
  • 浙江首个核酸药谷落子杭州,欢迎订阅《浪尖周报》第23期