Functions.ACopy 方法 | |
将元素从一个数组复制到另一个数组。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION ACopy(
aSource,
aTarget,
nStart,
nCount,
nTargetPos
) AS ARRAY CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static __Array ACopy(
__Usual aSource = default,
__Usual aTarget = default,
__Usual nStart = default,
__Usual nCount = default,
__Usual nTargetPos = default
)
查看代码参数
- 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() 函数。
示例
这个例子创建两个数组,每个数组都填充一个值。
然后将源数组的前两个元素复制到目标数组中:
1LOCAL nCount := 2, nStart := 1, aOne, aTwo
2aOne := {1, 1, 1}
3aTwo := {2, 2, 2}
4ACopy(aOne, aTwo, nStart, nCount)
5
这个例子将一个数组以相反的顺序复制到另一个数组中:
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)
参见