为什么C#和VB有泛型?他们提供了什么好处?泛型,FTW

fer*_*der 6 .net c# vb.net generics

来自维基百科:

通用编程是一种计算机编程风格,其中算法是根据待指定的后续类型编写的,然后在需要时作为参数提供的特定类型实例化,并由1983年出现的Ada开创.这种方法允许编写常用功能或类型,仅在使用时操作的类型集不同,从而减少重复.

泛型提供了定义稍后指定的类型的能力.您不必将项目转换为类型以使用它们,因为它们已经被键入.

为什么C#和VB有泛型?他们提供了什么好处?使用它们有什么好处?

还有哪些语言也有仿制药?

Mar*_*ade 6

C#和VB有泛型来利用底层CLR中的泛型支持(或者反过来?).它们允许您以静态类型语言编写代码,这些语言可以应用于多种类型,而无需为您使用它们的每种类型重写代码(运行时将为您执行此操作)或以其他方式使用System.Object并在任何地方进行转换(就像我们与ArrayList一样).

你读过这篇文章了吗?

这些语言也有泛型:

  • C++(通过模板)
  • Ada(通过模板)
  • 艾菲尔
  • D(通过模板)
  • 哈斯克尔
  • Java的

  • 除了其他内容之外,模板仍允许使用泛型进行编写. (2认同)

Fra*_* B. 5

就个人而言,我认为它们可以节省大量时间.我仍在使用.NET Framework 1.1,并且每次需要特定集合时,都需要通过实现CollectionBase来创建强类型集合.使用Generics,您只需要声明您的收藏,List<MyObject>就可以了.