C#泛型编程指导原则(一)

原创 2007年09月14日 13:27:00

Item1Use  Generic Collections 使用泛型集合

数据集合是泛型最典型的应用之一。在你现存的代码里,可能已经遍布了ArrayListHashTable。在使用泛型之前,你可能会在将要编写的代码中大量使用System.Collection这个数据结构。然而,自从有了泛型,真的是没有任何理由再继续使用这个命名空间中的集合了。

如果说仅仅有那么一个领域,泛型可以带来毫无疑问的价值的话,那么这个领域就是集合。如果没有泛型,非泛型集合的生产者和消费者将被迫把被包含的类型声明为Objet。当然了,这样做的话,你的代码将会有很多强制转换和一般的类型转换(将每个Object对象转换为其真实的类型),这将使代码变得很凌乱,同时也意味着对于值类型需要将其进行装箱才能表示为Object类型。即使在你努力的限制非泛型集合的影响的时候,一般你都会被迫进行对特定类型的包装,从而使类膨胀。出于这些原因和其他一些在使用中的体会,可以很明确的得知:没有任何理由倾向于这些老式的、非泛型的集合了。事实上,我想这样告诉大家:泛型集合是泛型最引人入胜的用处。如果你并没有被使用泛型集合的价值所说服的话,那么泛型所带来的任何其他好处也不能说服你。

尽管我认为使用泛型的观点是不得不接受的,但是并不是每个解决方案都具有用泛型集合完全取代与其相对应的非泛型集合的荣耀。如果你公开了一个API,并且有客户绑定了非泛型的API,你就需要考虑如何将API转换成泛型的。在这种情况下,在具体实现中,加入泛型集合到API中依然是值得的。

 

相关文章推荐

C# 2.0中泛型编程思想分析

  • 2009年11月23日 20:23
  • 20KB
  • 下载

C#类库处理异常指导原则

作为一个类库开发的新手,在面对Exception时,一直不知道所措。阅读了的异常处理部分,记录下一些基本的原则,供日后查询并与大家分享。欢迎高手指点一二。 一、善用finally块  ...
  • kmguo
  • kmguo
  • 2013年11月28日 23:54
  • 2440

XML 泛型 控件 的C#编程示例

  • 2007年12月29日 15:33
  • 273KB
  • 下载

C# 2.0中泛型编程初级入门教程

  • 2009年09月21日 17:43
  • 9KB
  • 下载

pp看书笔记---C#高级编程第九版 第五章 【泛型】

写在前面: 简单说一下看书的感受,这一章看了五六遍,一个星期,反反复复看,工作休息没事的时候看看,玩手机累的时候看看,躺着看电视的时候看看,终于梳理通了 看书的感受是: 1.书中有些话太过于精简...

(面试)泛型的优点(C# 编程指南)

在公共语言运行库和 C# 语言的早期版本中,通用化是通过在类型与通用基类型 Object 之间进行强制转换来实现的,泛型提供了针对这种限制的解决方案。通过创建泛型类,您可以创建一个在编译时类型安全...
  • hyhyct
  • hyhyct
  • 2012年04月16日 23:26
  • 332
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#泛型编程指导原则(一)
举报原因:
原因补充:

(最多只允许输入30个字)