C# 中 == 和 === 的区别
大家好!我是 C# 新手(之前用 JavaScript 编程),遇到了比较运算符的困惑。在 JS 中有严格比较 === 和非严格比较 ==。在 C# 中我只看到 ==,但听说有 Equals() 和 ReferenceEquals()。然而我找不到关于 === 的信息——它根本不存在吗?还是我遗漏了什么语法?
我尝试了以下代码:
int a = 5;
int b = 5;
object objA = a;
object objB = b;
Console.WriteLine(a == b); // True
Console.WriteLine(objA == objB); // False(引用比较?)
Console.WriteLine(objA.Equals(objB)); // True(值比较?)
我原本期望 objA == objB 返回 True,但得到了 False。对于值类型和引用类型,== 有什么区别?C# 中是否存在类似 JS 中 === 的严格比较(避免装箱)?还是必须始终使用