Conclusion
Generics represent an important but relatively recent addition to the C# language (first added in C# 2005). This useful addition mirrors the equivalent mechanism in Java. The reason that generics are interesting is not only because of the massive code savings that can be achieved—careful use of generics also allows for more generic code! In other words, you don't have to keep reinventing the wheel. An example of this principle is generic collections. The final type is created at runtime rather than at compile time.