1.2.14 #
解答 #
上一题中的代码已经包含了对 Equals() 方法的实现。
代码 #
/// <summary>
/// 比较两笔交易是否相同。
/// </summary>
/// <param name="obj">另一个对象。</param>
/// <returns></returns>
public override bool Equals(object obj)
{
if (obj == this)
return true;
if (obj == null)
return false;
if (obj.GetType() != GetType())
return false;
var that = (Transaction)obj;
return
Math.Abs(that.Amount - Amount) < float.Epsilon * 5 &&
that.When.Equals(When) &&
that.Who == Who;
}