当前位置:嗨网首页>书籍在线阅读

13-泛型使用建议

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

16.3.4 泛型使用建议

C#利用了两阶段编译、元数据以及约束等创新性的概念。C#泛型类在编译时,先生成中间代码IL,通用类型“T”只是一个占位符。在实例化类时,根据用户指定的数据类型代替“T”并由即时编译器(JIT)生成本地代码,这个本地代码中已经使用了实际的数据类型,等同于用实际类型写的类,所以不同的封闭类的本地代码是不一样的。

C#泛型是开发工具库中的一个无价之宝。它可以提高性能、类型安全和质量,减少重复性的编程任务,简化总体编程模型,而这一切都是通过优雅的、可读性强的语法完成的。前面已简单地介绍了泛型的概念,从编写代码过程中可以看出泛型的优点如下。

  • 性能高。使用泛型不需要进行类型转换,可以避免装箱和拆箱操作,能提高性能。
  • 类型安全。泛型集合对其存储对象进行了类型约束,不是定义时声明的类型,是无法存储到泛型集合中的,从而保证了数据的类型安全。
  • 代码重用。使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。

在处理集合类时,如果遇到下列情况,则可考虑使用泛型类。

  • 如需要对多种类型进行相同的操作处理。
  • 如需要处理值类型,使用泛型则可避免装箱/拆箱带来的性能开销。
  • 使用泛型可以在应用程序编译时发现类型错误,增强程序的健壮性。
  • 减少不必要的重复编码,使代码结构更加清晰。

程序员可以根据需要创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。