Code
Using System;
Using System. Collections. Generic;
Using System. LINQ;
Using System. text;
Namespace Generica
{
Public Class Genericlist < T >
{
/// <Summary>
/// Node
/// </Summary>
Private Class Node
{
Private Node next; // Next
Public Node next
{
Set {Next = Value ;}
Get { Return Next ;}
}
Private T date; // Included data
Public T data
{
Set {Date = Value ;}
Get { Return Date ;}
}
/// <Summary>
/// Constructor
/// </Summary>
/// <Param name = "T"> </param>
Public Node (T)
{
Next = Null ;
Date = T;
}
}
/// <Summary>
/// Header Node
/// </Summary>
Private Node head;
/// <Summary>
/// Constructor
/// </Summary>
Public Genericlist ()
{
Head = Null ;
}
/// <Summary>
/// Add node Information
/// </Summary>
/// <Param name = "T"> </param>
Public Void Addhead (T)
{
Node n = New Node (t );
N. Next = Head;
Head = N;
}
/// <Summary>
/// Implement Recursion
/// </Summary>
/// <Returns> </returns>
Public Ienumerator < T > Getenumerator ()
{
Node current = Head;
While (Current ! = Null )
{
Yield Return Current. Data;
Current = Current. Next;
}
}
}
Class Program
{
Static Void Main ( String [] ARGs)
{
Genericlist < Int > List = New Genericlist < Int > ();
For ( Int X = 0 ; X < 10 ; X ++ )
{< br> list. addhead (x);
}< br> foreach ( int I in List)
{< br> system. console. writeline (I + " " );
} console. writeline ( " \ ndone! " );
console. readkey ();
}< BR >}< br>