public virtual void CopyTo(int index, Array array, int arrayIndex, int count)
{
if (_size - index < count)
throw new ArgumentException(SR.Argument_InvalidOffLen);
if ((array != null) && (array.Rank != 1))
throw new ArgumentException(SR.Arg_RankMultiDimNotSupported, nameof(array));
Contract.EndContractBlock();
// Delegate rest of error checking to Array.Copy.
Array.Copy(_items, index, array, arrayIndex, count);
}