In this article we will see how we can use generics in C#, we have read this concept as templates in C++.
// Generics in c#
using System;
using System.Collections.Generic;
using System.Text;
namespace csharpgenerics
{
class Stack<T>
private T[] array;
private int index;
public int Max_Size = 50;
public Stack()
array = new T[Max_Size];}
public T Pop()
if(index == 0)
throw new System.InvalidOperationException("Stack is emply");
return array[--index];
}
public void Push(T item)
if(index == Max_Size)
throw new System.StackOverflowException("Stack is full");
array[index++] = item;
class Generics
static void Main(string[] args)
Stack<int> stack = new Stack<int>();
stack.Push(1);
int num = stack.Pop();
stack.Push(5);
//Below line will not work because you opened the stack object as interger
// string numNext = stack.Pop();
// to work above lines you need to open object as string similar with
// other user types.
/*
Stack<string> stack = new Stack<string>();
stack.Push("1");
string num = stack.Pop();
stack.Push("5");*/
Pro WPF: Windows Presentation Foundation in .NET 3.0