似乎必须覆盖 Equality 才能覆盖比较。
这是真的吗?我失踪有什么原因吗?
最佳答案
不。可以只进行自定义比较
[<CustomComparison>]
[<StructuralEquality>]
type Node =
| Data of string
| Nil
with
interface System.IComparable with
member x.CompareTo y = 0
请注意,此代码将产生一个警告,建议您也对类型实现相等性。这通常是一个好主意。如果您经历了实现比较的麻烦,那么就可以直接进行平等(比较 == 0)。
关于f# - fsharp 中的自定义比较和相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536803/