using System;
using System.Collections.Generic;
public class GenericCollection {
public static void Main() {
// Create a new LinkedListNode of type String and displays its properties.
LinkedListNode<String> lln = new LinkedListNode<String>( "Avatar" );
Console.WriteLine ( "After creating the node ...." );
DisplayProperties ( lln );
// Create a new LinkedList.
LinkedList<String> ll = new LinkedList<String>();
// Add the "Avatar" node and display its properties.
ll.AddLast ( lln );
Console.WriteLine ( "After adding the node to the empty LinkedList ...." );
DisplayProperties ( lln );
// Add nodes before and after the "Avatar" node and display the "Avatar" node's properties.
ll.AddFirst ( "Titanic" );
ll.AddLast ( "The Good, the Bad, and the Ugly" );
Console.WriteLine ( "After adding Titanic and The Good, the Bad, and the Ugly ...." );
DisplayProperties ( lln );
} // Main
public static void DisplayProperties ( LinkedListNode<String> lln ) {
if ( lln.List == null )
Console.WriteLine ( " Node is not linked." );
else
Console.WriteLine ( " Node belongs to a linked list with {0} elements.", lln.List.Count );
if ( lln.Previous == null )
Console.WriteLine ( " Previous node is null." );
else
Console.WriteLine ( " Value of previous node: {0}", lln.Previous.Value );
Console.WriteLine ( " Value of current node: {0}", lln.Value );
if ( lln.Next == null )
Console.WriteLine ( " Next node is null." );
else
Console.WriteLine ( " Value of next node: {0}", lln.Next.Value );
Console.WriteLine ();
} // DisplayProperties
} // Class GenericCollection