示例#1
0
 public void IterateRange(long index, T[] external, long externalOffset, long count, IterateOperator <T> op)
 {
     throw new NotImplementedException();
 }
示例#2
0
        public void IterateRange(int index, T[] external, int externalOffset, int count, IterateOperator <T> op)
        {
            if ((index < 0) || (externalOffset < 0) || (count < 0))
            {
                throw new ArgumentOutOfRangeException();
            }
            if (unchecked ((uint)index + (uint)count > (uint)inner.Count) ||
                ((external != null) && unchecked ((uint)externalOffset + (uint)count > (uint)external.Length)))
            {
                throw new ArgumentException();
            }

            for (int i = 0; i < count; i++)
            {
                T item         = inner[i + index];
                T externalItem = default(T);
                if (external != null)
                {
                    externalItem = external[i + externalOffset];
                }
                op(ref item, ref externalItem);
                inner[i + index] = item;
                if (external != null)
                {
                    external[i + externalOffset] = externalItem;
                }
            }
        }
示例#3
0
 public void IterateRange(int index, T[] external, int externalOffset, int count, IterateOperator <T> op)
 {
     inner.IterateRange(IntLong.ToLong(index), external, IntLong.ToLong(externalOffset), IntLong.ToLong(count), op);
 }