《.Net 之美》样章 – 张子阳 http://jimmyzhang.cnblogs.com
第 1 章 C#中的泛型详解
.Net 1.1 版本最受诟病的一个缺陷就是没有提供对泛型的支持。通过使用泛型,我们可以
极大地提高代码的重用度,同时还可以获得强类型的支持,避免了隐式的装箱、拆箱,在一定
程度上提升了应用程序的性能。本文将系统地为大家讨论泛型,我们先从理解泛型开始。
1.1 理解泛型
1.1.1 为什么要有泛型?
我想不论大家通过什么方式进入了计算机程序设计这个行业,都免不了要面对数据结构和
算法这个话题。因为它是计算机科学的一门基础学科,往往越是底层的部分,对于数据结构或
者算法的时间效率和空间效率的要求就越高。比如说,当你在一个集合类型(例如 ArrayList)
的实例上调用 Sort()方法对它进行排序时,.Net 框架在底层就应用了快速排序算法。.Net 框架中
快速排序方法名称叫 QuickSort(),它位于 Array 类型中,这可以通过 Reflector.exe
1
工具查看到。
我们现在并不是要讨论这个 QuickSort()实现的好不好,效率高还是不高,这偏离了我们的
主题。但是我想请大家思考一个问题:如果由你来实现一个排序算法,你会怎么做?好吧,我
们把题目限定得再窄一些,我们来实现一个最简单的冒泡排序(Bubble Sort)算法,如果你没
有使用泛型的经验,我猜测你可能会毫不犹豫地写出下面的代码来,因为这是大学教程的标准
实现:
public class SortHelper{
public void BubbleSort(int[] array) {
int length = array.Length;
1
你可以将它理解为查看.Net 框架源码的一个工具。
1 / 14
评论0
最新资源