public virtual void CopyTo (Array array, int arrayIndex)
{
if (array == null)
throw new ArgumentNullException ("array");
if (array.Rank != 1)
throw new ArgumentException ("array");
if (arrayIndex < 0)
throw new ArgumentOutOfRangeException ("arrayIndex");
if (array.Length - arrayIndex < Count)
throw new ArgumentException ("not enough space");
host.CopyToArray (array, arrayIndex, EnumeratorMode.KEY_MODE);
}