In F#:
[0] = [0] = true
In C# or .NET BCL in general:
StructuralComparisons.Equals(new int[] { 0 }, new int[] { 0 }) == false
Why?
Postscript:
The reason I thought I had the "right" Equals was because this turned out to be true:
var a = new { X = 3, Y = new { Z = -1 } };
var b = new { X = 3, Y = new { Z = -1 } };
StructuralComparisons.Equals(a, b) == true;
That's because you're going down to object.Equals(objA, objB)
which won't be able to handle that kind of comparison.
Instead do this:
StructuralComparisons.StructuralEqualityComparer.Equals(..., ...)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With