【问题标题】:Loop on INI file sections循环 INI 文件部分
【发布时间】:2014-01-30 10:49:38
【问题描述】:

为了在 INI 文件部分上循环,我必须做什么?
(意思是:添加的引用和使用的方法)?

我使用 C#、.NET 框架 4。

【问题讨论】:

标签: c# .net-4.0 ini


【解决方案1】:

这是我用于处理 INI 文件的另一种解决方案:

https://github.com/MarioZ/MadMilkman.Ini

这里还有一个如何用它循环遍历所有 INI 文件内容的示例:

IniFile ini = new IniFile();
ini.Load("Sample.ini");

foreach (IniSection sec in ini.Sections)
    foreach (IniKey key in sec.Keys)
    {
        string sectionName = sec.Name;
        string keyName = key.Name;
        string keyValue = key.Value;

        // ...
    }

【讨论】:

    【解决方案2】:

    如果你真的想在 C# 中使用 INI 文件,你可以在这里找到好的代码:

    http://www.codeproject.com/csharp/cs_ini.asp

    但最好使用 XML 文件,因为在 .NET 中没有写入或读取 INI 文件的功能。

    【讨论】:

    • 感谢您的回复。附加的链接仍然没有回答我如何获取这些部分。
    • 那么你必须在这个类中添加你自己的函数。您可以使用 GetPrivateProfileSection() 来做到这一点
    【解决方案3】:

    我已经创建了一个完全在 C# 中解析和操作 ini 文件的库。 您可以对每个部分进行迭代,然后对该部分中的每个键值对进行迭代。或者,如果您知道键的名称和键所在部分的名称,则可以访问一个值:

    ini["MySection"]["MyKey"] = "MyValue";

    您可以使用 NuGet 安装它(搜索 ini-parser)或直接在此处获取代码: https://github.com/rickyah/ini-parser

    我确实做到了,因为那里有几个库使用 WinAPI 调用来读取和写入 ini 文件。它可以工作,但是你的操作有限,而且它不便携:如果你碰巧使用单声道,那你就不走运了。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 2014-03-22
      • 2018-08-08
      • 2011-10-24
      • 1970-01-01
      • 2013-02-11
      • 2013-09-13
      相关资源
      最近更新 更多