Generics Visual C++ .NET

#include "stdafx.h"
using namespace System;
using namespace System::Collections;
void main()
{
    array^ IntList = gcnew array { 1, 2, 3, 4, 5 };
    IEnumerable ^collection = (IEnumerable^)IntList;
    IEnumerator ^enumerator = collection->GetEnumerator();
    while (enumerator->MoveNext())
    {
        int i = (int)enumerator->Current;
        Console::WriteLine(i);
    }
    for each (int i in IntList)
        Console::WriteLine(i);
}