点击或拖拽改变大小

Functions.ACopy 方法

X#
将元素从一个数组复制到另一个数组。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION ACopy(
	aSource,
	aTarget,
	nStart,
	nCount,
	nTargetPos
) AS ARRAY CLIPPER
查看代码

参数

aSource (Optional)
类型:__Usual
要从中复制元素的数组。
aTarget (Optional)
类型:__Usual
要将元素复制到的数组。
nStart (Optional)
类型:__Usual
aSource 中的起始元素位置。
负值从末尾开始。
如果 nCount 为正,默认值为 1;如果 nCount 为负,默认值为数组长度。
nCount (Optional)
类型:__Usual
nStart 开始,要从 aSource 复制的元素数量。
负值从末尾开始。
如果未指定 nCount,则从起始元素开始复制 aSource 中的所有元素。
nTargetPos (Optional)
类型:__Usual
aTarget 中接收来自 aSource 元素的起始元素位置。
默认值为 1。

返回值

类型:__Array
aTarget 的引用。
备注
ACopy() 将元素从 aSource 复制到 aTarget
aTarget 必须已经存在,并且大小足以容纳被复制的元素。
如果 aSource 有更多元素,某些元素将不会被复制。 ACopy() 复制所有数据类型的值。
如果 aSource 的一个元素是子数组,aTarget 中相应的元素将只包含对该子数组的引用。
因此,ACopy() 不会创建多维数组的完整副本。
要做到这一点,请使用 AClone() 函数。
示例
这个例子创建两个数组,每个数组都填充一个值。
然后将源数组的前两个元素复制到目标数组中:
X#
1LOCAL nCount := 2, nStart := 1, aOne, aTwo
2aOne := {1, 1, 1}
3aTwo := {2, 2, 2}
4ACopy(aOne, aTwo, nStart, nCount)
5// aTwo 现在是 {1, 1, 2}
这个例子将一个数组以相反的顺序复制到另一个数组中:
X#
1FUNCTION Start()
2    LOCAL a1, a2 AS ARRAY
3    a1 := {1, 2, 3, 4, 5}
4    a2: = ArrayCreate(ALen(a1))
5        // 从末尾开始并向后步进
6    ACopy(a1, a2, -1, - 0xFFFF, 1)    // 反转数组
参见