ArrayList.CopyTo Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Копирует ArrayList или часть его в одномерный массив.
Перегрузки
CopyTo(Array) |
Копирует весь ArrayList в совместимую одномерную Array, начиная с начала целевого массива. |
CopyTo(Array, Int32) |
Копирует весь ArrayList в совместимую одномерную Array, начиная с указанного индекса целевого массива. |
CopyTo(Int32, Array, Int32, Int32) |
Копирует диапазон элементов из ArrayList в совместимую одномерную Array, начиная с указанного индекса целевого массива. |
CopyTo(Array)
- Исходный код:
- ArrayList.cs
- Исходный код:
- ArrayList.cs
- Исходный код:
- ArrayList.cs
public:
virtual void CopyTo(Array ^ array);
public virtual void CopyTo (Array array);
abstract member CopyTo : Array -> unit
override this.CopyTo : Array -> unit
Public Overridable Sub CopyTo (array As Array)
Параметры
- array
- Array
Одномерный Array, который является назначением элементов, скопированных из ArrayList. Array должны иметь отсчитывание от нуля.
Исключения
array
null
.
array
является многомерным.
-или-
Число элементов в исходном ArrayList больше количества элементов, которые может содержать целевой array
.
Тип исходного ArrayList не может быть автоматически приведен к типу целевого array
.
Примеры
В следующем примере кода показано, как скопировать ArrayList в одномерный System.Array.
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 ] = "jumps";
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 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 ArrayList 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 ArrayList 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 jumps over the lazy dog
The quick brown fox jumps over the napping dog
The quick brown fox jumps 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] = "jumps";
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 jumps over the lazy dog
The quick brown fox jumps over the napping dog
The quick brown fox jumps over three napping cats in the barn
three napping cats in the barn three napping cats in the barn
*/
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) = "jumps"
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
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
End Class
' This code produces the following output.
'
' The target Array contains the following (before and after copying):
' The quick brown fox jumps over the lazy dog
' The quick brown fox jumps over the napping dog
' The quick brown fox jumps over three napping cats in the barn
' three napping cats in the barn three napping cats in the barn
Комментарии
Указанный массив должен иметь совместимый тип.
Этот метод использует Array.Copy для копирования элементов.
Элементы копируются в Array в том же порядке, в котором перечислитель выполняет итерацию через ArrayList.
Этот метод представляет собой операцию O(n)
, где n
Count.
Применяется к
CopyTo(Array, Int32)
- Исходный код:
- ArrayList.cs
- Исходный код:
- ArrayList.cs
- Исходный код:
- ArrayList.cs
public:
virtual void CopyTo(Array ^ array, int arrayIndex);
public virtual void CopyTo (Array array, int arrayIndex);
abstract member CopyTo : Array * int -> unit
override this.CopyTo : Array * int -> unit
Public Overridable Sub CopyTo (array As Array, arrayIndex As Integer)
Параметры
- array
- Array
Одномерный Array, который является назначением элементов, скопированных из ArrayList. Array должны иметь отсчитывание от нуля.
- arrayIndex
- Int32
Отсчитываемый от нуля индекс в array
, с которого начинается копирование.
Реализации
Исключения
array
null
.
arrayIndex
меньше нуля.
array
является многомерным.
-или-
Число элементов в исходном ArrayList больше, чем доступное пространство от arrayIndex
до конца конечного array
.
Тип исходного ArrayList не может быть автоматически приведен к типу целевого array
.
Примеры
В следующем примере кода показано, как скопировать ArrayList в одномерный System.Array.
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 ] = "jumps";
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 jumps over the lazy dog
The quick brown fox jumps over the napping dog
The quick brown fox jumps 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 SamplesArrayList1 {
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] = "jumps";
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 jumps over the lazy dog
The quick brown fox jumps over the napping dog
The quick brown fox jumps over three napping cats in the barn
three napping cats in the barn three napping cats in the barn
*/
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) = "jumps"
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
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
End Class
' This code produces the following output.
'
' The target Array contains the following (before and after copying):
' The quick brown fox jumps over the lazy dog
' The quick brown fox jumps over the napping dog
' The quick brown fox jumps over three napping cats in the barn
' three napping cats in the barn three napping cats in the barn
Комментарии
Указанный массив должен иметь совместимый тип.
Этот метод использует Array.Copy для копирования элементов.
Элементы копируются в Array в том же порядке, в котором перечислитель выполняет итерацию через ArrayList.
Этот метод представляет собой операцию O(n)
, где n
Count.
Применяется к
CopyTo(Int32, Array, Int32, Int32)
- Исходный код:
- ArrayList.cs
- Исходный код:
- ArrayList.cs
- Исходный код:
- ArrayList.cs
public:
virtual void CopyTo(int index, Array ^ array, int arrayIndex, int count);
public virtual void CopyTo (int index, Array array, int arrayIndex, int count);
abstract member CopyTo : int * Array * int * int -> unit
override this.CopyTo : int * Array * int * int -> unit
Public Overridable Sub CopyTo (index As Integer, array As Array, arrayIndex As Integer, count As Integer)
Параметры
- array
- Array
Одномерный Array, который является назначением элементов, скопированных из ArrayList. Array должны иметь отсчитывание от нуля.
- arrayIndex
- Int32
Отсчитываемый от нуля индекс в array
, с которого начинается копирование.
- count
- Int32
Количество элементов для копирования.
Исключения
array
null
.
index
меньше нуля.
-или-
arrayIndex
меньше нуля.
-или-
count
меньше нуля.
array
является многомерным.
-или-
index
равно или больше Count исходного ArrayList.
-или-
Число элементов от index
до конца исходного ArrayList больше, чем доступное пространство от arrayIndex
до конца конечного array
.
Тип исходного ArrayList не может быть автоматически приведен к типу целевого array
.
Примеры
В следующем примере кода показано, как скопировать ArrayList в одномерный System.Array.
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 ] = "jumps";
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 jumps over the lazy dog
The quick brown fox jumps over the napping dog
The quick brown fox jumps 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 SamplesArrayList1 {
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] = "jumps";
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 jumps over the lazy dog
The quick brown fox jumps over the napping dog
The quick brown fox jumps over three napping cats in the barn
three napping cats in the barn three napping cats in the barn
*/
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) = "jumps"
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
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
End Class
' This code produces the following output.
'
' The target Array contains the following (before and after copying):
' The quick brown fox jumps over the lazy dog
' The quick brown fox jumps over the napping dog
' The quick brown fox jumps over three napping cats in the barn
' three napping cats in the barn three napping cats in the barn
Комментарии
Указанный массив должен иметь совместимый тип.
Этот метод использует Array.Copy для копирования элементов.
Элементы копируются в Array в том же порядке, в котором перечислитель выполняет итерацию через ArrayList.
Этот метод представляет собой операцию O(n)
, где n
count
.