Beim Versuch, mir selbst zu überprüfen, dass C# gleich für IEnumerables ist eine Referenz gleich ist, fand ich etwas seltsam. Mit dem folgenden Setup in NUnitC# Assert.AreNotEqual im Vergleich zu Equals
var a = (IEnumerable<string>)(new[] { "one", "two" });
var b = (IEnumerable<string>)(new[] { "one", "two" });
dieser Test
Assert.IsFalse(a.Equals(b));
Pässe, während dieses Tests
Assert.AreNotEqual(a, b);
nicht. Kann jemand erklären warum?
Edit: Danke für die Antworten. Ich lese gerade die Dokumentation für NUnit, und es sagt dasselbe, dass AreEqual und AreNotEqual mit Sammlungen auf Gleichheit jedes Elementes der Sammlung prüfen. Ich glaube, ich war fest davon überzeugt, dass AreEqual und AreNotEqual einfach nur Equals verwendeten.