1.2.14

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;
}

另请参阅 #

Commercial 库