在Haskell中,我最熟悉的语言,有一种相当精确的方法来确定变量的类型。然而,在学习C#的过程中,我在这方面有些困惑。例如,
Array.Sort
方法的签名如下:public static void Sort(
Array array
)
然而,如果参数为null
、多维数组或不实现IComparable
接口,则此方法将引发异常。因此,如果可能的话,为什么不使用类型IComparable[]
呢?
Array.Sort
的具体问题的答案,那么这个标题就不合适了。 - Tim SchmelterArray
的TrySZSort
调用。 这是一个内部 CLR 调用,可能期望的是Array
.. 而不是实现IComparable
的内容。 - Simon WhiteheadIComparable[]
(即不是IComparable
)是一个Array
。 - millimoose