Wenn ein generischer Typ mit null
(und nur mit null
) verglichen wird, bewirkt dies, dass der Compiler den Typ sowohl als Nullwert (was in Ordnung ist) als auch als gleichwertig einschränkt.Warum verursacht eine Nullprüfung eine Gleichheitsbedingung in F #?
Warum letzteres? Es scheint, dass nur der Vergleich mit null
für Typen, die Nullable sind, aber keine Gleichheit unterstützt, in Ordnung sein sollte.
Ich weiß, ich kann Unchecked.equals
verwenden, um nur die NULL-Einschränkung zu bekommen, nur frage mich, ob ich einige offensichtliche Gründe vermisse, warum ((=) null)
ein gleichberechtigtes Argument benötigt.
Guter Punkt - sollte das selbst herausgefunden haben :) –