Collections Visual C++ .NET

#include "stdafx.h"
using namespace System;
using namespace System::Collections;
void main(){
    Hashtable ^hash  = gcnew Hashtable();
    SortedList ^sort = gcnew SortedList();
    array^ keys   = gcnew array { "B", "A", "C", "D" };
    array^ skeys  = gcnew array { "A", "B", "C", "D" };
    array^ values = gcnew array { "a", "b", "c", "d" };
    for (int i = 0; i < keys->Length; i++)
    {
        hash->Add(keys[i], values[i]);
        sort->Add(keys[i], values[i]);
    }
    Console::WriteLine("\nBy enumerator");
    IDictionaryEnumerator ^enum1 = hash->GetEnumerator();
    IDictionaryEnumerator ^enum2 = sort->GetEnumerator();
    while ( enum1->MoveNext() && enum2->MoveNext())
    {
        Console::Write("{0} {1}\t\t", enum1->Key, enum1->Value);
        Console::WriteLine("{0} {1}", enum2->Key, enum2->Value);
    }
}