Mise à jour : novembre 2007
Copie la plage d'éléments de ArrayList dans un Array compatible unidimensionnel en commençant à l'index spécifié du tableau cible.
Espace de noms :
System.Collections Assembly :
mscorlib (dans mscorlib.dll)
Visual Basic (Déclaration)
Public Overridable Sub CopyTo ( _
index As Integer, _
array As Array, _
arrayIndex As Integer, _
count As Integer _
)
Visual Basic (Utilisation)
Dim instance As ArrayList
Dim index As Integer
Dim array As Array
Dim arrayIndex As Integer
Dim count As Integer
instance.CopyTo(index, array, arrayIndex, _
count)
public virtual void CopyTo(
int index,
Array array,
int arrayIndex,
int count
)
public:
virtual void CopyTo(
int index,
Array^ array,
int arrayIndex,
int count
)
public void CopyTo(
int index,
Array array,
int arrayIndex,
int count
)
public function CopyTo(
index : int,
array : Array,
arrayIndex : int,
count : int
)
| Exception | Condition |
|---|
| ArgumentNullException | array est nullNothingnullptrune référence null (Nothing en Visual Basic). |
| ArgumentOutOfRangeException | index est inférieur à zéro. - ou - arrayIndex est inférieur à zéro. - ou - count est inférieur à zéro. |
| ArgumentException | array est multidimensionnel. - ou - index est égal ou supérieur au Count du ArrayList source. - ou - arrayIndex est supérieur ou égal à la longueur de array. - ou - Le nombre d'éléments de index jusqu'à la fin du ArrayList source est supérieur à la quantité d'espace disponible entre arrayIndex et la fin du array de destination. |
| InvalidCastException | Le cast automatique du type du ArrayList source en type du array de destination est impossible. |
Le type du tableau spécifié doit être compatible.
Cette méthode utilise Array..::.Copy pour copier les éléments.
Les éléments sont copiés dans Array dans l'ordre dans lequel l'énumérateur parcourt ArrayList.
Cette méthode est une opération O(n), où n est égal à count.
L'exemple de code suivant montre comment copier un ArrayList dans un System..::.Array unidimensionnel.
Imports System
Imports System.Collections
Public Class SamplesArrayList
Public Shared Sub Main()
' Creates and initializes the source ArrayList.
Dim mySourceList As New ArrayList()
mySourceList.Add("three")
mySourceList.Add("napping")
mySourceList.Add("cats")
mySourceList.Add("in")
mySourceList.Add("the")
mySourceList.Add("barn")
' Creates and initializes the one-dimensional target Array.
Dim myTargetArray(14) As String
myTargetArray(0) = "The"
myTargetArray(1) = "quick"
myTargetArray(2) = "brown"
myTargetArray(3) = "fox"
myTargetArray(4) = "jumped"
myTargetArray(5) = "over"
myTargetArray(6) = "the"
myTargetArray(7) = "lazy"
myTargetArray(8) = "dog"
' Displays the values of the target Array.
Console.WriteLine("The target Array contains the following (before and after copying):")
PrintValues(myTargetArray, " "c)
' Copies the second element from the source ArrayList to the target Array, starting at index 7.
mySourceList.CopyTo(1, myTargetArray, 7, 1)
' Displays the values of the target Array.
PrintValues(myTargetArray, " "c)
' Copies the entire source ArrayList to the target Array, starting at index 6.
mySourceList.CopyTo(myTargetArray, 6)
' Displays the values of the target Array.
PrintValues(myTargetArray, " "c)
' Copies the entire source ArrayList to the target Array, starting at index 0.
mySourceList.CopyTo(myTargetArray)
' Displays the values of the target Array.
PrintValues(myTargetArray, " "c)
End Sub 'Main
Public Shared Sub PrintValues(myArr() As String, mySeparator As Char)
Dim i As Integer
For i = 0 To myArr.Length - 1
Console.Write("{0}{1}", mySeparator, myArr(i))
Next i
Console.WriteLine()
End Sub 'PrintValues
End Class 'SamplesArrayList
' This code produces the following output.
'
' The target Array contains the following (before and after copying):
' The quick brown fox jumped over the lazy dog
' The quick brown fox jumped over the napping dog
' The quick brown fox jumped over three napping cats in the barn
' three napping cats in the barn three napping cats in the barn
using System;
using System.Collections;
public class SamplesArrayList {
public static void Main() {
// Creates and initializes the source ArrayList.
ArrayList mySourceList = new ArrayList();
mySourceList.Add( "three" );
mySourceList.Add( "napping" );
mySourceList.Add( "cats" );
mySourceList.Add( "in" );
mySourceList.Add( "the" );
mySourceList.Add( "barn" );
// Creates and initializes the one-dimensional target Array.
String[] myTargetArray = new String[15];
myTargetArray[0] = "The";
myTargetArray[1] = "quick";
myTargetArray[2] = "brown";
myTargetArray[3] = "fox";
myTargetArray[4] = "jumped";
myTargetArray[5] = "over";
myTargetArray[6] = "the";
myTargetArray[7] = "lazy";
myTargetArray[8] = "dog";
// Displays the values of the target Array.
Console.WriteLine( "The target Array contains the following (before and after copying):" );
PrintValues( myTargetArray, ' ' );
// Copies the second element from the source ArrayList to the target Array, starting at index 7.
mySourceList.CopyTo( 1, myTargetArray, 7, 1 );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
// Copies the entire source ArrayList to the target Array, starting at index 6.
mySourceList.CopyTo( myTargetArray, 6 );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
// Copies the entire source ArrayList to the target Array, starting at index 0.
mySourceList.CopyTo( myTargetArray );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
}
public static void PrintValues( String[] myArr, char mySeparator ) {
for ( int i = 0; i < myArr.Length; i++ )
Console.Write( "{0}{1}", mySeparator, myArr[i] );
Console.WriteLine();
}
}
/*
This code produces the following output.
The target Array contains the following (before and after copying):
The quick brown fox jumped over the lazy dog
The quick brown fox jumped over the napping dog
The quick brown fox jumped over three napping cats in the barn
three napping cats in the barn three napping cats in the barn
*/
using namespace System;
using namespace System::Collections;
void PrintValues( array<String^>^myArr, char mySeparator );
int main()
{
// Creates and initializes the source ArrayList.
ArrayList^ mySourceList = gcnew ArrayList;
mySourceList->Add( "three" );
mySourceList->Add( "napping" );
mySourceList->Add( "cats" );
mySourceList->Add( "in" );
mySourceList->Add( "the" );
mySourceList->Add( "barn" );
// Creates and initializes the one-dimensional target Array.
array<String^>^myTargetArray = gcnew array<String^>(15);
myTargetArray[ 0 ] = "The";
myTargetArray[ 1 ] = "quick";
myTargetArray[ 2 ] = "brown";
myTargetArray[ 3 ] = "fox";
myTargetArray[ 4 ] = "jumped";
myTargetArray[ 5 ] = "over";
myTargetArray[ 6 ] = "the";
myTargetArray[ 7 ] = "lazy";
myTargetArray[ 8 ] = "dog";
// Displays the values of the target Array.
Console::WriteLine( "The target Array contains the following (before and after copying):" );
PrintValues( myTargetArray, ' ' );
// Copies the second element from the source ArrayList to the target Array, starting at index 7.
mySourceList->CopyTo( 1, myTargetArray, 7, 1 );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
// Copies the entire source ArrayList to the target Array, starting at index 6.
mySourceList->CopyTo( myTargetArray, 6 );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
// Copies the entire source ArrayList to the target Array, starting at index 0.
mySourceList->CopyTo( myTargetArray );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
}
void PrintValues( array<String^>^myArr, char mySeparator )
{
for ( int i = 0; i < myArr->Length; i++ )
Console::Write( "{0}{1}", mySeparator, myArr[ i ] );
Console::WriteLine();
}
/*
This code produces the following output.
The target Array contains the following (before and after copying):
The quick brown fox jumped over the lazy dog
The quick brown fox jumped over the napping dog
The quick brown fox jumped over three napping cats in the barn
three napping cats in the barn three napping cats in the barn
*/
import System.*;
import System.Collections.*;
public class SamplesArrayList
{
public static void main(String[] args)
{
// Creates and initializes the source ArrayList.
ArrayList mySourceList = new ArrayList();
mySourceList.Add("three");
mySourceList.Add("napping");
mySourceList.Add("cats");
mySourceList.Add("in");
mySourceList.Add("the");
mySourceList.Add("barn");
// Creates and initializes the one-dimensional target Array.
String myTargetArray[] = new String[15];
myTargetArray.set_Item(0, "The");
myTargetArray.set_Item(1, "quick");
myTargetArray.set_Item(2, "brown");
myTargetArray.set_Item(3, "fox");
myTargetArray.set_Item(4, "jumped");
myTargetArray.set_Item(5, "over");
myTargetArray.set_Item(6, "the");
myTargetArray.set_Item(7, "lazy");
myTargetArray.set_Item(8, "dog");
// Displays the values of the target Array.
Console.WriteLine("The target Array contains the following "
+ "(before and after copying):");
PrintValues(myTargetArray, ' ');
// Copies the second element from the source Array to the
// target ArrayList, starting at index 7.
mySourceList.CopyTo(1, myTargetArray, 7, 1);
// Displays the values of the target Array.
PrintValues(myTargetArray, ' ');
// Copies the entire source ArrayList to the target Array,
// starting at index 6.
mySourceList.CopyTo(myTargetArray, 6);
// Displays the values of the target Array.
PrintValues(myTargetArray, ' ');
// Copies the entire source ArrayList to the target Array,
// starting at index 0.
mySourceList.CopyTo(myTargetArray);
// Displays the values of the target Array.
PrintValues(myTargetArray, ' ');
} //main
public static void PrintValues(String myArr[], char mySeparator)
{
for (int i = 0; i < myArr.length; i++) {
Console.Write("{0}{1}", new Character(mySeparator),
myArr.get_Item(i));
}
Console.WriteLine();
} //PrintValues
} //SamplesArrayList
/*
This code produces the following output.
The target Array contains the following (before and after copying):
The quick brown fox jumped over the lazy dog
The quick brown fox jumped over the napping dog
The quick brown fox jumped over three napping cats in the barn
three napping cats in the barn three napping cats in the barn
*/
import System;
import System.Collections;
// Creates and initializes the source ArrayList.
var mySourceList : ArrayList = new ArrayList();
mySourceList.Add( "three" );
mySourceList.Add( "napping" );
mySourceList.Add( "cats" );
mySourceList.Add( "in" );
mySourceList.Add( "the" );
mySourceList.Add( "barn" );
// Creates and initializes the one-dimensional target Array.
var myTargetArray : System.Array = System.Array.CreateInstance( System.String, 15 );
myTargetArray.SetValue( "The", 0 );
myTargetArray.SetValue( "quick", 1 );
myTargetArray.SetValue( "brown", 2 );
myTargetArray.SetValue( "fox", 3 );
myTargetArray.SetValue( "jumped", 4 );
myTargetArray.SetValue( "over", 5 );
myTargetArray.SetValue( "the", 6 );
myTargetArray.SetValue( "lazy", 7 );
myTargetArray.SetValue( "dog", 8 );
// Displays the values of the target Array.
Console.WriteLine( "The target Array contains the following (before and after copying):" );
PrintValues( myTargetArray, ' ' );
// Copies the second element from the source ArrayList to the target Array, starting at index 7.
mySourceList.CopyTo( 1, myTargetArray, 7, 1 );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
// Copies the entire source ArrayList to the target Array, starting at index 6.
mySourceList.CopyTo( myTargetArray, 6 );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
// Copies the entire source ArrayList to the target Array, starting at index 0.
mySourceList.CopyTo( myTargetArray );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
function PrintValues( myArr : System.Array , mySeparator : char ) {
var myEnumerator : System.Collections.IEnumerator = myArr.GetEnumerator();
var i : int= 0;
var cols : int = myArr.GetLength( myArr.Rank - 1 );
while ( myEnumerator.MoveNext() ) {
if ( i < cols ) {
i++;
} else {
Console.WriteLine();
i = 1;
}
Console.Write( "{0}{1}", mySeparator, myEnumerator.Current );
}
Console.WriteLine();
}
/*
This code produces the following output.
The target Array contains the following (before and after copying):
The quick brown fox jumped over the lazy dog
The quick brown fox jumped over the napping dog
The quick brown fox jumped over three napping cats in the barn
three napping cats in the barn three napping cats in the barn
*/
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
.NET Framework
Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0
.NET Compact Framework
Pris en charge dans : 3.5, 2.0, 1.0
XNA Framework
Pris en charge dans : 2.0, 1.0
Référence