是否有可能';'只有当它位于同等侧的右侧时才能区分注释?
我有以下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);
但随后初始评论也将被视为配置文件并导致错误(“expecting =”)。
答案 0 :(得分:1)
快速扫描代码会显示您可以使用的一些有用属性:
result.AcceptCommentAfterKey = false;
result.SetCommentDelimiters (new char[] { ';', '#' });
将AcceptCommentAfterKey设置为false可能会对您有所帮助吗?否则,您可以覆盖注释分隔符,并将用于分隔注释的符号替换为您想要的任何内容。