Equals()는 지정된 객체가 현재 객체와 같은지 여부를 확인합니다.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;
}
}
개미가 나는이 같은 두 선수의 인스턴스화 : 왜()이 같이 사용하는 경우 false를 반환 같음을 수행하는
Player p1 = new Player();
p1.SetScore(7);
Player p2 = (Player)p1.Clone();
입니다 :
Console.WriteLine(p1.Equals(p2)); // prints "False" to console
어떻게 동일하지 않습니까?
참조가 동일한 객체인지 확인하기 위해 참조를 비교하는 것이 좋습니다. –
@EpicNobody :'System.Object'에'.Equals()'를 구현하는 것이 현명한 방법입니다. 왜냐하면 그 클래스는 그 클래스로부터 상속받은 클래스를 전혀 알지 못하기 때문입니다. – David