如果我有实现ICOMABLE的课程:
public class BankAccount : IComparable<BankAccount>
{
[...]
public int CompareTo(BankAccount that)
{
if (this.Balance > that.Balance) return -1;
if (this.Balance == that.Balance) return 0;
return 1;
}
}
我应该检查that
是否为null。另外,我应该检查that
是否实际上是BankAccount
类型?如果出于某种原因,最好输入检查,那为什么呢?我的意思是C#是静态键入的,就我而言,BankAccount
不是基类。
我应该检查是否是null
是的
另外,我是否应该检查是否实际上是类型的bankaccount
为什么?由于您使用的是强烈键入的ICOMABLE IComparable<T>
您也可以使用Comparison<T>
委托而不是提供IComparable<T>