public virtual void AssignSubArray(uint[] memorypos, NamedMultiDimArray buffer, uint[] bufferpos, uint[] count) { NamedMultiDimArray mema = this; NamedMultiDimArray memb = buffer; MultiDimArray_CalculateCopyIndicesIter iter = MultiDimArray_CalculateCopyIndicesIter.BeginIter(mema.Dims, memorypos, memb.Dims, bufferpos, count); uint indexa; uint indexb; uint len; while (iter.Next(out indexa, out indexb, out len)) { Array.Copy(memb.namedarray_array, (long)indexb, mema.namedarray_array, (long)indexa, (long)len); } }