首页 / 问答 / C#中通过new得到的两个对象何时会拥有相同的hashcode?

C#中通过new得到的两个对象何时会拥有相同的hashcode?

C# 170 次浏览
0

我通过类似以下的代码段来新建对象(举个例子)
```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()这个函数

回复 [×]
提交评论
请输入评论内容

0 个回答

我来回答