0中泛型的出现是一个令人激动的特征
但是,什么是泛型
你需要它们吗
你会在自己的应用软件中使用它们
在本文中,我们将回答这些问题并细致地分析泛型的使用,能力及其局限性
NET中的许多语言如 C#,C++和 VB
NET(选项 strict为 on)都是强类型语言
作为一个程序员,当你使用这些语言时,总会期望编译器进行类型安全的检查
例如,如果你把对一个Book类型的引用转换成一个Vehicle型的引用,编译器将告诉你这样的cast是无效的
然而,当谈到
1中的集合时,它们是无助于类型安全的
请考虑一个ArrayList的例子,它拥有一个对象集合--这允许你把任何类型的对象放于该 ArrayList中
让我们看一下例 1中的代码
缺乏类型安全的ArrayList using System; using System
Collections; namespace TestApp { class Test { [STAThread] static void Main(string[] args) { ArrayList list = new ArrayList(); list
Add(3); list
Add(4); //list
0); int total = 0; foreach(int val in list) { total = total + val; } Console
WriteLine("Total is {0}", total); } } } 本例中,我们建立了一个ArrayList的实例,并把3和4添加给它
然后我循环遍历该ArrayList,从中取出整型值然后把它们相加
这个程序将产生结果"Total is 7"
现在,如果我注释掉下面这句: list
0); 程序将