What are generics in C#, illustrated with a simple example? What are some related articles or websites for this topic?
Generics allow you to define the specification of the data type of programming elements in a class or a method, until it is actually used in the program. In other words, generics allow you to write a class or method that can work with any data type.
Generics add that type of safety feature. We will discuss that type of safety feature in later examples. Generics in Java are similar to templates in C++. For example, classes like HashSet, ArrayList, HashMap, etc., use generics very well.
Explanation: The term generics means parameterized types. Parameterized types are important because they enable us to create classes, structures, interfaces, methods, and delegates in which, the type of data upon which they operate is specified as a parameter.
Generic is a class which allows the user to define classes and methods with the placeholder. Generics were added to version 2.0 of the C# language. The basic idea behind using Generic is to allow type (Integer, String, … etc and user-defined types) to be a parameter to methods, classes, and interfaces.
Generics refers to the technique of writing the code for a class without specifying the data type(s) that the class works on.
You specify the data type when you declare an instance of a generic class. This allows a generic class to be specialized for many different data types while only having to write the class once.
A great example are the many collection classes in .NET. Each collection class has it's own implementation of how the collection is created and managed. But they use generics to allow their class to work with collections of any type.
http://msdn.microsoft.com/en-us/library/ms379564(VS.80).aspx
There is really nothing special about Generics in C#. C# just likes to take well-known concepts and call them something different (e.g. calling procedures "static methods" or calling flatMap
"SelectMany
"). In this particular case, Generics are just C#'s name for rank-1 parametric polymorphism.
From MSDN:
Generics are the most powerful feature of C# . Generics allow you to define type-safe data structures, without committing to actual data types. This results in a significant performance boost and higher quality code, because you get to reuse data processing algorithms without duplicating type-specific code. In concept, generics are similar to C++ templates, but are drastically different in implementation and capabilities.
https://msdn.microsoft.com/en-us/library/ms379564.aspx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With