La grossa novità della nuova versione del linguaggio C# è sicuramente l’introduzione dei generics. Ma a cosa servono i generics?
Partiamo con un esempio che chiarirà tutti i dubbi.
Implementiamo una classe stack come si farebbe oggi con l’attuale versione del framework. Premesso che esistono diverse implementazioni ora potremmo scriverla cosi:
public class OldStack
{
Object[] _items;
int _basePointer;
public OldStack(int size)
{
_items = new object[size];
_basePointer = 0;
}
public void Push(object value)
{
if (_basePointer < _items.Length)
{
_items[_basePointer] = value;
_basePointer++;
}
else
throw new IndexOutOfRangeException("Stack Pieno");
}
public object Pop()
...