c# 配置文件的读写

一、配置文件 app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="String1" value="value1" />
        <add key="String2" value="value2+" />
        <add key="String1" value="value3" />        
    </appSettings>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    </startup>
</configuration>

使用<appSettings></appSettings>标签增加节点,

使用<add key="String1" value="value1" />增加键值对

<startup>

   <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

</startup>

设置.NET框架
二、配置文件读写函数
 /// <summary>
 /// 读数配置参数值
 /// </summary>
 /// <param name="key">参数名称</param>
 /// <returns>参数的值</returns>
 public static string ReadConfig(string key)
{
   List<string> list = new List<string>();
   ExeConfigurationFileMap file = new ExeConfigurationFileMap();
   file.ExeConfigFilename = System.Windows.Forms.Application.ExecutablePath + ".config";
   Configuration config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(file, ConfigurationUserLevel.None);
   var myApp = (AppSettingsSection)config.GetSection("appSettings");
   return myApp.Settings[key].Value;

}
/// <summary>
/// 写改配置参数中指定参数的值
/// </summary>
/// <param name="key">参数名称</param>
/// <param name="value">参数修改的值</param>
public static void WriteConfig(string key, string value)
{
   ExeConfigurationFileMap file = new ExeConfigurationFileMap();
   file.ExeConfigFilename = System.Windows.Forms.Application.ExecutablePath + ".config";
   Configuration config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(file, ConfigurationUserLevel.None);
   var myApp = (AppSettingsSection)config.GetSection("appSettings");
   myApp.Settings[key].Value = value;
   config.Save();
}

 

 

 
 

转载于:https://www.cnblogs.com/braceli/p/5432880.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于INI文件的操作,可以进行封装,方便代码复用,具体实现如下: 1. 创建一个类 ```csharp public class IniHelper { [DllImport("kernel32", CharSet = CharSet.Unicode)] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32", CharSet = CharSet.Unicode)] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); public static string ReadIni(string iniFilePath, string section, string key, string defaultValue = "") { int size = 255; // 缓冲区大小 StringBuilder sb = new StringBuilder(size); GetPrivateProfileString(section, key, defaultValue, sb, size, iniFilePath); return sb.ToString(); // 获取键值 } public static void WriteIni(string iniFilePath, string section, string key, string value) { WritePrivateProfileString(section, key, value, iniFilePath); } } ``` 2. 调用封装好的方法进行读写操作 ```csharp string iniFilePath = @"C:\Config\MyConfig.ini"; // 配置文件路径 string section = "SectionName"; // 节点名称 string key = "KeyName"; // 键名称 string defaultValue = "DefaultValue"; // 默认值 // 读取配置项 string value = IniHelper.ReadIni(iniFilePath, section, key, defaultValue); // 写入配置项 string valueToWrite = "MyValue"; IniHelper.WriteIni(iniFilePath, section, key, valueToWrite); ``` 通过封装,可以将INI文件操作的通用方法提取出来,方便代码复用,减少代码重复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值