In F #:StructuralComparisons für Arrays
[0] = [0] = true
in C# oder .NET BCL im Allgemeinen:
StructuralComparisons.Equals(new int[] { 0 }, new int[] { 0 }) == false
Warum?
Nachsatz:
Der Grund, warum ich dachte, dass ich die „richtigen“ hatte Equals war, weil das wahr entpuppte:
var a = new { X = 3, Y = new { Z = -1 } };
var b = new { X = 3, Y = new { Z = -1 } };
StructuralComparisons.Equals(a, b) == true;
'new int [] {0} .SequenceEqual (new int [] {0}) == true;' –
Ja, aber ich eine allgemeine Strukturgleichheit haben will über Objektgraphen - aber nur Arrays wie hier gezeigt. Der Grund, warum ich Arrays auswählte, war, dass sie nicht gleich waren. –
Hier ist Blog Post von Don Syme über Gleichheit und Vergleich in F #: http://blogs.msdn.com/b/dsyme/archive/2009/11/08/equality-and-comparison-constraints-in-f-1 -9-7.aspx – Petr