因此,据我了解,Equals()确定指定的对象是否等于当前对象。努力理解等于()
所以,如果我有这样的播放器类:
public class Player
{
int score;
public object Clone()
{
return this.MemberwiseClone();
}
public void SetScore(int i)
{
this.score = i;
}
public int GetScore()
{
return this.score;
}
}
蚂蚁那么我实例化两个玩家是这样的:
Player p1 = new Player();
p1.SetScore(7);
Player p2 = (Player)p1.Clone();
为什么,做的equals()这样使用时返回false:
Console.WriteLine(p1.Equals(p2)); // prints "False" to console
它们是如何不相等的?
比较引用以查看它们是否是相同的对象有什么好处? –
@EpicNobody:这真的是在'System.Object'上实现'.Equals()'唯一明智的方法,因为该类不知道从它继承的类。 – David