请看这里的景点,请: http://social.microsoft.com/Forums/getfile/3600/ 为什么它不匹配?
答案 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))