为什么“\ n”是真的不能比较?

时间:2011-08-18 08:44:36

标签: c# xml file compare match

请看这里的景点,请: http://social.microsoft.com/Forums/getfile/3600/ 为什么它不匹配?

1 个答案:

答案 0 :(得分:7)

编辑:好的,现在我们知道它是XmlReader.Value 返回一个字符串,这绝对不是问题。我将在下面留下以前的答案以供将来参考。

我的猜测是,有一些“奇怪”的Unicode字符没有显示在调试器中......或者监视窗口的行为很奇怪。将手表放在xml.Value.ToCharArray()上会有助于显示。

(另外,提供Dictionary<,>参数名称list非常令人困惑......)

编辑:此外,使用支撑和缩进使您的代码更容易遵循...


目前我们无法确定,但我的猜测Value属性类型为object,而不是string。这意味着==!=执行引用比较(运算符重载,而不是重写,请记住)。您需要多态行为:

if (xml.Value.Equals("\n"))

或者如果xml.Value合法地为空:

if ("\n".Equals(xml.Value))