【发布时间】:2011-02-20 14:03:48
【问题描述】:
根据文档:
System.Array.Sort<T>- 使用 System.Array 的每个元素的 System.IComparable 通用接口实现对整个 System.Array 中的元素进行排序。
今天我发现,这段代码正在编译,没有任何错误和警告:
A []arr = new A[10];//A is not inheriting from IComparable !!
//initializing elements of arr
...
System.Array.Sort<A>(arr);
执行后出现运行时错误。
那么为什么要编译这段代码呢?我不是 C# 的大专家,但我知道 C# 泛型支持约束语法。为什么 Array.Sort 不使用约束?
【问题讨论】:
标签: c# arrays generics sorting constraints