什么是C#中的generics?

什么是C#中的generics,用一个简单的例子来说明? 这个话题有什么相关的文章或网站?

generics是指为类编写代码而不指定类所处理的数据types的技术。

在声明通用类的实例时指定数据types。 这允许generics类专用于许多不同的数据types,而只需要编写一次类。

一个很好的例子是.NET中的许多集合类。 每个集合类都有它自己的如何创build和pipe理集合的实现。 但是他们使用generics来允许他们的类与任何types的集合一起工作。

http://msdn.microsoft.com/en-us/library/ms379564(VS.80).aspx

C#中的generics没有什么特别之处。 C#只是喜欢把知名的概念,并称之为不同的东西(例如调用过程“静态方法”或调用flatMapSelectMany ”)。 在这个特殊的情况下,generics只是C#的名字为秩-1参数多态性。

来自MSDN:

generics是C#最强大的function。 generics允许您定义types安全的数据结构,而不需要实际的数据types。 这会显着提高性能并提高代码质量,因为您可以重复使用数据处理algorithm,而无需复制types特定的代码。 在概念上,generics类似于C ++模板,但是在实现和function方面有很大的不同。

https://msdn.microsoft.com/en-us/library/ms379564.aspx