泛型性能进阶(泛型局限和string类型本质)

并不是对所有的泛型列表进行排序都比非泛型列表更快的,之前在《泛型笔记之泛型性能详解之泛型类与非泛型类的序列排序(List类与ArrayList类的序列排序)》一文中就讨论过这个问题。本文就是要进一步讨论泛型类型和string类型的工作原理。此外,string类型的元素用string类型ArrayList类列表来排序就一定是最快的吗?

IComparable, ICloneable, IConvertible, IEnumerable 都是引用类型的,因为string类型的本质就是一种特殊的通过对象来引用对象的各种集合的序列。

而如果将(强类型)List<T>指定为object类型,那么该(强类型)就会对每个元素进行object类型引用。而这无疑将会消耗大量的资源并且导致排序速度变慢。

 

泛型性能进阶(泛型局限和string类型本质)