我在针对 .NET 4.0 的项目中进行了以下测试:
[TestFixture]
public class Donkey
{
[Test]
public void TestListSorting()
{
var expected = new[]
{
MockRepository.GenerateStub<IComparable>(),
MockRepository.GenerateStub<IComparable>()
};
var sorted = new List<IComparable>(expected);
CollectionAssert.AreEqual(expected, sorted);
sorted.Sort();
CollectionAssert.AreEqual(expected, sorted);
}
}
如果我在仅安装 .NET 4.0 的机器上运行它,它会失败。如果我在仅安装 .NET 4.5 的机器上运行它,它就会通过。
我假设在 .NET 4.5 中,在对每个返回的对象列表进行排序时,已经更改了实现以Sort
保持顺序。0
CompareTo
现在,抛开这个测试明显的疯狂。我知道依赖这种行为是很疯狂的。
这肯定是一个突破性的变化吗?本页未列出.NET 4.0 和 4.5 之间的兼容性。
是否有一个原因?我错过了什么吗?是否有另一个页面显示实际的重大更改?我应该坐下来停止恐慌吗?