我正在尝试为生成大量文本的代码段编写单元测试。我遇到了“期望”和“实际”字符串看起来相同的问题,但Assert.AreEqual抛出,并且等于运算符和Equals()
都返回false。 GetHashCode()
的结果也是不同的。C#字符串相等运算符返回false,但我很确定它应该是真的......什么?
但是,将两个字符串放入文本文件并与DiffMerge比较告诉我它们是相同的。
此外,在两个值上使用Encoding.ASCII.GetBytes()
,然后使用SequenceEquals
比较得到的字节数组返回true。
这些值是每个34KB,所以我暂不把它们放在这里。有任何想法吗?我完全被难住了。
尝试'Encoding.Unicode.GetBytes()' - 相同的行为? – 2010-04-01 03:52:57
什么是string.Equals(yourstring,StringComparison.InvariantCulture)返回? – 2010-04-01 03:54:27
你可以只发布单元测试吗? – 2010-04-01 04:01:00