- 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.
