【发布时间】:2023-03-17 07:42:02
【问题描述】:
在 C# 中是否有 JavaScript 松散相等运算符的 == 等效项?还是函数?
例子
// JavaScript ‘==' operator
console.log(21 == 21); //true
console.log(21 == "21"); // true
console.log("food is love"=="food is love"); //true
console.log(true == 1); //true
console.log(false == 0); //true
【问题讨论】:
-
其实很有趣的问题。我不确定是否存在,但是据我所知,您可以覆盖“==”操作,这样您就可以实现与类类似的效果。
-
不,因为这个概念不适用。例如,您无法比较
int和string而不进行显式转换。所以 - 除非您使用dynamic放弃强静态类型的所有好处,否则您必须在编译时知道您正在比较的类型。 -
谢谢,我现在更清楚了。
-
@Vulpex 不能为您不创建的类型重载/重新定义运算符(所有给定的示例都使用内置类型,固定定义为
==) -
@CaiusJard 因此添加了
with classes但我同意再读一遍,我可以更清楚地说明它只适用于非内置类型。感谢您指出。
标签: javascript c# operators