- What are Generics
 - How to Write Generics Program in C#
 - Benefit of Generics in C#
 
What are Generics
In simple words, Generics are that type of classes which has PlaceHolder instead of datatypes. When you create generic classes you don’t specify its data type; datatypes are defined when you create objects. This makes Generic classes reusable and type-safe and your Generic classes and methods are able to work with any datatypes.
More about Generics
- Generics improves code usability, type safety and performance.
 - Mostly Generics are used for creating collection classes.
 - You can use Generics by adding System.Collections.Generic namespace.
 - You can create your own Generic interfaces, classes, methods, events and delegates.
 
Declare Generics Class
public class GenericList<T>
    {
        void Add(T input) { }
    }Use Generics in Programming
class TestGenericList
    {
        private class ExampleClass { }
        static void Main()
        {
            // Declare a list of type int.
            GenericList<int> list1 = new GenericList<int>();
            // Declare a list of type string.
            GenericList<string> list2 = new GenericList<string>();
            // Declare a list of type ExampleClass.
            GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
        }
    }Programming Example
using System;
using System.Collections.Generic;
namespace Generics_Example
{
    //Declare Generics 
    public class GenClass<T>
    {        
        public void GenFunction(T printvalue)
        {
            Console.WriteLine(printvalue);
        }
    }
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Printing Integer Value");
            GenClass<int> gen=new GenClass<int>();
            gen.GenFunction(144);
            Console.WriteLine("Printing String Value");
            GenClass<string> genstring=new GenClass<string>();
            genstring.GenFunction("Hello String");
        }
    }
}
Output
Printing Integer Value
144
Printing String Value
Hello String
_
Here, I have written the very simple program and hope you will understand it very easily. In the above program, I have created a Generic class GenClass
Summary
In this chapter, you learned What are Generics in C# Programming, Its benefit, and complete programming example.
