首页 > 解决方案 > 我为 A 和 B 打印了哈希码,我得到了相同的地址。两个对象在内存中并排创建。但是怎么会有相同的地址呢?

问题描述

using System;
public class A 
{
    public A()
    {
     Console.WriteLine(this.GetHashCode());
     Console.WriteLine("A Created");
    }
}
public class B : A
{
    public B()
    {
     Console.WriteLine(this.GetHashCode());
     Console.WriteLine("B Created");
    }
}
public class C
{
  public static void Main(String[] args)
  {
      B t = new B();
  }
}

输出:1805487208 A 创建 1805487208 B 创建

为什么我得到这两个对象的相同地址。实际上这 2 个对象必须并排创建。但是为什么我们会为这两个对象获得相同的地址???

标签: c#

解决方案


推荐阅读