在 F# 中:
[0] = [0] = true
通常在 C# 或 .NET BCL 中:
StructuralComparisons.Equals(new int[] { 0 }, new int[] { 0 }) == false
为什么?
后记:
我认为我有“正确的” Equals 的原因是因为事实证明这是真的:
var a = new { X = 3, Y = new { Z = -1 } };
var b = new { X = 3, Y = new { Z = -1 } };
StructuralComparisons.Equals(a, b) == true;