public static void Sort( Array array)
但是,如果参数为null,多维或未实现IComparable接口,则此方法将引发异常.那么,为什么不是类型IComparable [],如果可能的话?
public static void Sort<T>(T[] array) where T : IComparable // or even IComparable<T>{ ... }
这不能强制数组在编译时不为空(遗憾的是),但它可以确保数组具有可比较的类型并且是单维的.空检查仍然需要进行运行时检查.
但这依赖于泛型,在.NET 2.0之前没有添加到语言中. (这也使用方法级泛型,而不是类级泛型,直到.NET 3.5才添加)Array.Sort被添加到.NET 1.0中的语言中.它没有被改变,因为这将是一个突破性的变化,语言设计者选择不做.