1

是否有可能有';' 仅当它位于平等边的右侧时才不划界评论?

我有以下 INI 文件:

; 一些应该被忽略的评论

[部分]

键=值 1;值 2;值 2

使用以下代码,Nini 正在删除 value2;value3 因为它被视为注释:

            using (TextReader tr = new StreamReader(iniFile))
            {
                IniDocument doc = new IniDocument(tr);
                foreach (DictionaryEntry entry in doc.Sections)
                {
                    string key = (string)entry.Key;
                    IniSection section = (IniSection)entry.Value;
                    if (section.Contains("key"))
                    {
                        // ... do stuff
                    }
                }
            }

当然,我可以做类似的事情

IniReader ir = new IniReader(tr);
ir.SetCommentDelimiters(new char[] { '!' });
IniDocument doc = new IniDocument(ir);

但随后初始注释也将被视为配置文件并导致错误(“预期 =”)。

4

1 回答 1

1

快速扫描代码会显示一些您可以使用的有用属性:

result.AcceptCommentAfterKey = false;
result.SetCommentDelimiters (new char[] { ';', '#' });

也许将 AcceptCommentAfterKey 设置为 false 会对您有所帮助?否则,您可以覆盖注释分隔符并将用于分隔注释的符号替换为您想要的任何内容。

于 2015-02-26T20:44:07.087 回答