Explain about generics?

Generics are introduced in C# 2.0, they allow us to design classes and methods decoupled from data types. We can make use of generics and increase code reuse, type safety and performance.