.NET泛型编程简介

归纳起来,泛型比非泛型具有下面两个优点:

1、  更加安全

在非泛型编程中,虽然所有的东西都可以作为Object传递,但是在传递的过程中免不了要进行类型转换。而类型转换在运行时是不安全的。使用泛型编程将可以减少不必要的类型转换,从而提高安全性。

2、  效率更高

在非泛型编程中,将简单类型作为Object传递时会引起BoxingUnboxing操作,这两个过程都是具有很大开销的。使用泛型编程就不必进行BoxingUnboxing操作了。

 

.NET泛型具有很好的二进制重用性。这一点得益于.NET将泛型内建在CLR之中。C++泛型和评估中Java泛型所依靠的是它们各自的编译器所提供的特性,编译器在编译泛型代码时将确切的类型展开,这就难免会出现代码膨胀的问题。而.NET的泛型代码是在运行时由JIT即时编译的,这样CLR就可以为不同类型重用大部分的即时编译代码了。

 

下面两篇文章详细地介绍了.NET中的泛型编程:

 

Introducing Generics in the CLR

More on Generics in the CLR

你可能感兴趣的:(.net)