私が理解するように、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;
}
}
Antはその後、私はこのような2プレイヤーのインスタンス化:なぜそれは()のように使用された場合はfalseを返すのEqualsを行うこと
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