public
static
void
Copy
(
Array
sourceArray
,
Array
destinationArray
,
int
length
)
参数
sourceArray
-
类型:
System.Array
Array,它包含要复制的数据。
destinationArray
-
类型:
System.Array
Array,它接收数据。
length
-
类型:
System.Int32
一个 32 位整数,它表示要复制的元素数目
2,从第一个元素开始复制 Array
中的一系列元素,将它们粘贴到另一 Array
中(从第一个元素开始)。长度指定为 64 位整数。
public
static
void
Copy
(
Array
sourceArray
,
Array
destinationArray
,
long
length
)
参数
sourceArray
-
类型:
System.Array
Array,它包含要复制的数据。
destinationArray
-
类型:
System..Array
Array,它接收数据。
length
-
类型:
System.Int64
一个 64 位整数,它表示要复制的元素数目。该整数必须介于零和 Int32.MaxValue 之间(包括零和 Int32.MaxValue)。
3,从指定的源索引开始,复制 Array
中的一系列元素,将它们粘贴到另一 Array
中(从指定的目标索引开始)。长度和索引指定为 32 位整数。
public
static
void
Copy
(
Array
sourceArray
,
int
sourceIndex
,
Array
destinationArray
,
int
destinationIndex
,
int
length
)
参数
sourceArray
-
类型:
System.Array
Array,它包含要复制的数据。
sourceIndex
-
类型:
System.Int32
一个 32 位整数,它表示 sourceArray 中复制开始处的索引。
destinationArray
-
类型:
System.Array
Array,它接收数据。
destinationIndex
-
类型:
System.Int32
一个 32 位整数,它表示 destinationArray 中存储开始处的索引。
length
-
类型:
System..::.Int32
一个 32 位整数,它表示要复制的元素数目。
4,从指定的源索引开始,复制 Array
中的一系列元素,将它们粘贴到另一 Array
中(从指定的目标索引开始)。长度和索引指定为 64 位整数。
public
static
void
Copy
(
Array
sourceArray
,
long
sourceIndex
,
Array
destinationArray
,
long
destinationIndex
,
long
length
)
参数
sourceArray
-
类型:
System.Array
Array,它包含要复制的数据。
sourceIndex
-
类型:
System.Int64
一个 64 位整数,它表示 sourceArray 中复制开始处的索引。
destinationArray
-
类型:
System.Array
Array,它接收数据。
destinationIndex
-
类型:
System.Int64
一个 64 位整数,它表示 destinationArray 中存储开始处的索引。
length
-
类型:
System.Int64
一个 64 位整数,它表示要复制的元素数目。该整数必须介于零和 Int32..MaxValue 之间(包括零和 Int32.MaxValue)。
5,下面的代码示例说明如何从一个 Object 类型的 Array 复制到 integer 类型的另一个 Array。 using
System;
public
class
SamplesArray {
public
static
void
Main() {
Array myIntArray=Array.CreateInstance( typeof
(System.Int32), 5 );
for
( int i = myIntArray.GetLowerBound(0); i <= myIntArray.GetUpperBound(0); i++ )
myIntArray.SetValue( i+1, i );
Array myObjArray = Array.CreateInstance( typeof
(System.Object), 5 );
for
( int i = myObjArray.GetLowerBound(0); i <= myObjArray.GetUpperBound(0); i++ )
myObjArray.SetValue( i+26, i );
Console.WriteLine( "Int32 array:"
);
PrintValues( myIntArray );
Console.WriteLine( "Object array:"
);
PrintValues( myObjArray );
Array.Copy( myIntArray, myIntArray.GetLowerBound(0), myObjArray, myObjArray.GetLowerBound(0), 1 );
Array.Copy( myObjArray, myObjArray.GetUpperBound(0) - 1, myIntArray, myIntArray.GetUpperBound(0) - 1, 2 );
Console.WriteLine( "Int32 array - Last two elements should now be the same as Object array:"
);
PrintValues( myIntArray );
Console.WriteLine( "Object array - First element should now be the same as Int32 array:"
);
PrintValues( myObjArray );
}
public
static
void
PrintValues( Array myArr ) {
System.Collections.IEnumerator myEnumerator = myArr.GetEnumerator();
int i = 0;
int cols = myArr.GetLength( myArr.Rank - 1 );
while
( myEnumerator.MoveNext() ) {
if
( i < cols ) {
i++;
} else
{
Console.WriteLine();
i = 1;
}
Console.Write( "/t{0}"
, myEnumerator.Current );
}
Console.WriteLine();
}
}
|