A C# implementation of a linked list