C#相当于Delphi的.INI读取方法

时间:2011-12-08 18:29:39

标签: c# delphi

  

可能重复:
  Reading/writing INI file in C#

有哪些方法或C#库可以执行以下操作?感谢

   //Delphi read item in a given  section of a binary file.
   uses iniFiles; 
   readString('SectionName','itemName','DefaultValueIfNotFound');

3 个答案:

答案 0 :(得分:7)

框架中没有直接读取INI文件的类,因为它们现在并不是一个好的选择。相反,通常建议您使用Application Settings infrastructure或其他更灵活的技术,例如将信息保存在XML文件或数据库中。

然而,许多人编写了自己的库,例如this one on CodeProject,这将允许您轻松地从C#中的ini文件的一部分读取值。

答案 1 :(得分:2)

如果你真的必须使用这种pinvoke方法。

http://pinvoke.net/default.aspx/kernel32.GetPrivateProfileString

INI文件是旧版本,不建议Microsoft使用。

答案 2 :(得分:1)

虽然与使用Delphi的TIniFile不完全相同,但我发现开源Nini library运行良好。

这是使用Nini读取INI文件的example

; MyApp.ini
[Logging]
File Name = MyApp.log
MessageColumns = 5
MaxFileSize = 40000000000000

下面是一段C#示例代码,描述了如何从上面的文件中访问INI文件中的配置数据:

using Nini.Config;
IConfigSource source = new IniConfigSource("MyApp.ini");

string fileName = source.Configs["Logging"].Get("File Name");
int columns = source.Configs["Logging"].GetInt("MessageColumns");
long fileSize = source.Configs["Logging"].GetLong("MaxFileSize");