关于C#中读写INI配置文件的说明

INI配置文件由若干个节(section)组成,每个节又分成若干个键(key)和值(value),在C#程序中我们可以通过引入非托管的Windows API函数来进行读写。

一、引入非托管的Windows API函数:

/// <summary>
/// 读取INI配置信息
/// </summary>
/// <param name="section">节</param>
/// <param name="key">键</param>
/// <param name="def">默认值</param>
/// <param name="retVal">值缓冲区</param>
/// <param name="size">大小</param>
/// <param name="filePath">INI配置文件路径</param>
/// <returns>返回取得字符串缓冲区的长度</returns>
[DllImport("kernel32")]
private static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

/// <summary>
/// 写入INI配置信息
/// </summary>
/// <param name="section">节</param>
/// <param name="key">键</param>
/// <param name="val">值</param>
/// <param name="filePath">INI配置文件路径</param>
/// <returns>返回0表示失败,非0表示成功</returns>
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

二、读取INI配置信息:

// 值缓冲区大小
int capacity = 1024;
// 配置项所在节
string section = "Section";
// 配置项所在键
string key = "Key";
// 配置项默认值
string defaultValue = "Value";
// INI配置文件路径
string file = "C:/config.ini";
// 创建值缓冲区
StringBuilder stringBuilder = new StringBuilder(capacity);
// 读取配置值
GetPrivateProfileString(section, key, defaultValue, stringBuilder, capacity, file);
return stringBuilder.ToString();

三、写入INI配置信息:

// 配置项所在节
string section = "Section";
// 配置项所在键
string key = "Key";
// 配置项值
string value = "Value";
// INI配置文件路径
string file = "C:/config.ini";
// 写入配置信息
long result = WritePrivateProfileString(section, key, value, file);
// 返回写入是否成功
return result != 0;

更多信息请参阅:配置 Ini 文件项目WritePrivateProfileString function (Windows)GetPrivateProfileString function (Windows)