1 / 32
文档名称:

泛型ppt - 泛型ppt-课件PPT(演示稿).ppt

格式:ppt   页数:32页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

泛型ppt - 泛型ppt-课件PPT(演示稿).ppt

上传人:13431315 2016/3/4 文件大小:0 KB

下载得到文件列表

泛型ppt - 泛型ppt-课件PPT(演示稿).ppt

文档介绍

文档介绍:泛型泛型的定义?所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型,泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。C#泛型赋予了代码更强的类型安全,更好的复用,更高的效率,更清晰的约束。类型安全?.NET中的许多语言如C#,C++都是强类型语言。作为一个程序员,当你使用这些语言时,总会期望编译器进行类型安全的检查。 然而, ,它们是无助于类型安全的。比如一个ArrayList的例子,它拥有一个对象集合--这允许你把任何类型的对象放于该ArrayList中。让我们看一下例1中的代码。?using System;using ;namespace TestApp{class Test{[STAThread]static void Main(string[] args){ArrayList list = new ArrayList();(3);(4);//();int total = 0;foreach(intval in list){total = total + val;}("Total is {0}", total);}}} ?本例中,我们建立了一个ArrayList的实例,并把3和4添加给它。然后循环遍历该ArrayList,从中取出整型值然后把它们相加。这个程序将产生结果“Total is 7”。现在,如果我们注释掉下面这句: (); 程序将产生异常:哪里出错了呢?记住ArrayList拥有一个集合的对象。当你把3加到ArrayList上时,你已把值3装箱了。当你循环该列表时,你是把元素拆箱成int型。然而,,你在装箱一个double型值。在第17行,那个double值被拆箱成一个int型。这就是失败的原因。作为一个****惯于使用语言提供的类型安全的程序员,希望这样的问题在编译期间浮出水面,而不是在运行时刻。这正是泛型产生的原因。使用泛型集合?.NET 。各种不同的集合/容器类都被"参数化"了。为使用它们,只需简单地指定参数化的类型即可。请看例2:?List<int>aList = new List<int>();(3);(4);// ();int total = 0;foreach(intval in aList){total = total + val;}("Total is {0}", total); ? 在例2中,我们编写了一个泛型的列表的例子,在尖括号内指定参数类型为int。该代码的执行将产生结果"Total is 7"。现在,()的注释,将得到一个编译错误。(),因为该方法仅接受int型。不同于例1,这里的代码实现了类型安全。泛型类?泛型类封装不是特定于具体数据类型的操作。泛型类最常用于集合,如链接列表、哈希表、堆栈、队列、树等。像从集合中添加和移除项这样的操作都以大体上相同的方式执行,与所存储数据的类型无关。?一般情况下,创建泛型类的过程为:从一个现有的具体类开始,逐一将每个类型更改为类型参数,直至达到通用化和可用性的最佳平衡。