String.Equals的奇怪行为?

时间:2012-11-23 13:51:19

标签: c# .net string object equals

我有一个字符串,键是字符串。

有一项具有特殊的行为。对于相同的字符串,它不匹配。我想这与String.Equals行为有关。

即使String.Equals返回错误的结果。 (我知道字符串实习生的概念,但这似乎是不同的问题)。

检查问题的图像(观察窗口)。 enter image description here

我正在填充映射字典(来自xml资源文件)

var data = XDocument.Parse(str).Element(RootForXMLValidation).Elements().Where(x => x.Attribute("EcbFieldId") != null);
mappings = data.ToDictionary(x => x.Attribute("BoeField").Value.Trim(),
           x => new Mapping { Key = x.Attribute("BoeField").Value.Trim(),
           Type = (MappingType)Enum.Parse(typeof(MappingType), 
           x.Attribute("mappingType").Value), MappingDetail = x });

为什么String.Equals会以这种方式运行?

1 个答案:

答案 0 :(得分:9)

key中的破折号似乎是一个短划线,而另一个是连字符。