为什么这个断言失败了?

Pet*_*ras 4 unit-testing mstest

IEnumerable<ReportReceipt> expected = new List<ReportReceipt>()
{
    new ReportReceipt("fileName1","Hash1","some comments1")
};

IEnumerable<ReportReceipt> actual = new List<ReportReceipt>()
{
    new ReportReceipt("fileName1","Hash1","some comments1")
};

Assert.IsTrue(expected.SequenceEqual(actual));
Run Code Online (Sandbox Code Playgroud)

我正在使用VS 2008运行MSTest.

Mia*_*rke 6

SequenceEqual通过使用默认的相等比较器来比较元素来确定两个序列是否相等.

如果您没有在类中重载Equals和GetHashCode,则回退对象相等性检查将失败,因为序列包含两个不同的对象.