为什么函数返回真和假
本文关键字:返回 函数 为什么 | 更新日期: 2023-09-27 18:33:38
此代码将返回 true:
private bool SimpleComparison()
{
return new byte() == new byte();
}
此代码将返回 false:
private bool AnotherSimpleComparison()
{
return new byte[0] == new byte[0];
}
听不懂,为什么?据我了解,在第二种情况下,它是不同的地址?那么第一种情况呢?
存在 ==
运算符的重载,其中两个操作数都是 byte
类型,并且实现它是为了比较每个字节的值;在本例中,您有两个零字节,并且它们是相等的。
数组的 ==
运算符不会重载,因此在第二种情况下使用具有两个object
操作数的重载,并且其实现比较对两个对象的引用。 对两个数组的引用是不同的。