Verhalten von List <T> .Sort in .NET 4.5 geändert von .NET 4.0?

Ich habe den folgenden Test in einem Projekt, das auf .NET 4.0 abzielt:

[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);

    }
}

Wenn ich es auf einem Computer mit nur .NET 4.0 ausführe, schlägt es fehl. Wenn ich es auf einem Computer mit nur .NET 4.5 ausführe, der installiert wird, überschreitet es.

Ich gehe davon aus, dass in .NET 4.5 die Implementierung vonSort wurde geändert, um die Reihenfolge beim Sortieren einer Liste von Objekten beizubehalten, die jeweils zurückgegeben werden0 vonCompareTo.

Lassen Sie jetzt den offensichtlichen Wahnsinn dieses Tests hinter sich. Ich weiß, es ist verrückt, sich auf diese Art von Verhalten zu verlassen.

Sicherlich Das ist eine bahnbrechende Veränderung? Es ist nicht gelistetdiese Seite zur Kompatibilität zwischen .NET 4.0 und 4.5.

Gibt es einen Grund dafür? Vermisse ich etwas? Gibt es eine andere Seite, auf der aktuelle Änderungen angezeigt werden? Sollte ich mich nur hinsetzen und aufhören in Panik zu geraten?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage