using System;

using System.Collections;

using System.Text;


public class SamplesHashtable  {

    public static void Main()  {

        // Create and initialize a new Hashtable.

        Hashtable table = new Hashtable();

        //Student Name, Grade

        table.Add("Jay", 100);

        table.Add("Brian", 87);

        table.Add("Rajesh", 92);

        table.Add("Bill", 76);

        table.Add("Brad", 84);

        table.Add("Kit", 91);

        table.Add("Vinaya", 80);

        table.Add("Lakshan", 87);


        // Display the properties and values of the Hashtable.    

        Console.WriteLine("Count: {0}", table.Count );

        PrintTable( table );


        Console.WriteLine();

        int g = (int) table["Jay"];

        Console.WriteLine ("Jay's grade is: {0}", g);


        Console.WriteLine();

        PrintItems ("All Names", table.Keys);

            

        Console.WriteLine();

        PrintItems ("All Grades", table.Values);


    }

    public static void PrintTable( Hashtable myList )  {

        Console.WriteLine ("{0,-8} {1,-8}", "Name","Grade");

        Console.WriteLine ("{0,-8} {1,-8}", "----","-----");

        foreach (DictionaryEntry e in myList) {

            Console.WriteLine ("{0,-8} {1,-8}", e.Key, e.Value);

        }

    }

    public static void PrintItems(string title, IEnumerable    myList )  {

        Console.Write ("{0}: ", title);

        StringBuilder sb = new StringBuilder();

        foreach (object o in myList) {

            sb.AppendFormat( "{0}, ", o);

        }

        sb.Remove (sb.Length-2,2);

        Console.WriteLine(sb);

    }

}