C#读取与写入INI配置文件教程

5星 · 超过95%的资源 需积分: 9 19 下载量 14 浏览量 更新于2024-09-11 收藏 44KB DOC 举报
"C#读取ini文件的类和方法介绍" 在C#中,由于.NET框架内建类库并未提供直接读写INI配置文件的组件,因此需要借助Windows API函数来实现这一功能。INI文件是一种简单的文本配置文件,通常用于存储程序的初始化设置。在C#中读取和写入INI文件,主要涉及到`kernel32.dll`库中的`WritePrivateProfileString`和`GetPrivateProfileString`这两个API函数。 以下是一个简单的C#类,用于读取和写入INI文件: ```csharp using System.Runtime.InteropServices; public class IniFile { [DllImport("kernel32.dll", CharSet = CharSet.Unicode)] private static extern int WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); public void Write(string section, string key, string value, string filePath) { WritePrivateProfileString(section, key, value, filePath); } public string Read(string section, string key, string filePath) { const int MAX_BUFFER_SIZE = 512; var temp = new StringBuilder(MAX_BUFFER_SIZE); GetPrivateProfileString(section, key, "", temp, MAX_BUFFER_SIZE, filePath); return temp.ToString(); } } ``` 在这个类中,`Write`方法使用了`WritePrivateProfileString`函数,将指定的键值对写入INI文件的特定部分(section)。`Read`方法则利用`GetPrivateProfileString`函数读取指定部分和键的值。 例如,假设我们有一个INI文件`config.ini`,并想要写入和读取如下内容: ```ini [Settings] Language=en Theme=Dark ``` 可以这样操作: ```csharp var ini = new IniFile(); ini.Write("Settings", "Language", "en", "config.ini"); ini.Write("Settings", "Theme", "Dark", "config.ini"); var language = ini.Read("Settings", "Language", "config.ini"); var theme = ini.Read("Settings", "Theme", "config.ini"); ``` 这样,我们就实现了C#中对INI文件的基本读写操作。请注意,使用Windows API函数可能会引入额外的依赖,且在非Windows平台上可能无法正常工作。在现代的.NET开发中,通常会使用更高级的配置管理框架,如`System.Configuration`或第三方库,如`Nini`,以提供跨平台的兼容性和更多的功能。