C#中通过new得到的两个对象何时会拥有相同的hashcode?
1.46K 次浏览
我通过类似以下的代码段来新建对象(举个例子)
```public class classname: baseclass
{
public classname(int a, int b, int c, int d…) : base(a, b, …)
{
c = c;
this.d = d;
}
}
baseclass B = new classname(a, b, c, d);
```
此外,还定义了一个List:
public ICollection<baseclass> mylist { get; protected set; } = new List<baseclass>();
先后用相同的参数新建了两个对象B1和B2,将B1放进mylist中,当尝试将B2也放入mylist时,代码告诉我mylist已经包含了B2,且此时打印B1和B2的hashcode,确实是返回相同的值
我想知道在什么情况下通过new出来的对象会包含相同的hashcode,没有重载GetHashCode()这个函数