gpt4 book ai didi

c# - 重复拳击做出不同的引用?

转载 作者:太空狗 更新时间:2023-10-30 00:42:48 26 4
gpt4 key购买 nike

我试着理解这段代码:

double b = 3;
object o = b;
Console.WriteLine(o.Equals(3));//false
Console.WriteLine(o.Equals(b));//true
Console.WriteLine( o == (object)b );//false
  1. 每个新的拳击都对对象 b 进行不同的引用?
  2. 如果 1. 为真,为什么 o.Equals(b)true
  3. 如果 Equals 不检查引用,为什么 o.Equals(3)false

谢谢。

最佳答案

  1. 是的,每次装箱一个值类型时,都会创建一个新对象。 More on boxing here.
  2. Equals 检查值是否相等,而不是引用是否相等。 ob 相同:double 的值为 3.0
  3. 3 这里是一个int,不是一个doubleEquals对不同的类型是不行的任何使它们兼容的转换,就像编译器通常做的那样。 o.Equals(3.0) 将返回 true

关于c# - 重复拳击做出不同的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13621829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com