List<T>.CopyTo Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Копирует список List<T> или его часть в массив.
Перегрузки
CopyTo(T[], Int32) |
Копирует List<T> целиком в совместимый одномерный массив, начиная с указанного индекса конечного массива. |
CopyTo(Int32, T[], Int32, Int32) |
Копирует диапазон элементов из списка List<T> в совместимый одномерный массив, начиная с указанного индекса конечного массива. |
CopyTo(T[]) |
Копирует весь список List<T> в совместимый одномерный массив, начиная с первого элемента целевого массива. |
Примеры
В следующем примере показаны все три перегрузки CopyTo метода . Создается List<T> список строк и заполняется 5 строками. Создается пустой строковый массив из 15 элементов, а перегрузка CopyTo(T[]) метода используется для копирования всех элементов списка в массив, начиная с первого элемента массива. Перегрузка CopyTo(T[], Int32) метода используется для копирования всех элементов списка в массив, начиная с индекса массива 6 (оставляя индекс 5 пустым). Наконец, перегрузка CopyTo(Int32, T[], Int32, Int32) метода используется для копирования 3 элементов из списка, начиная с индекса 2, в массив, начинающийся с индекса массива 12 (оставляя индекс 11 пустым). Затем отображается содержимое массива.
using namespace System;
using namespace System::Collections::Generic;
void main()
{
List<String^>^ dinosaurs = gcnew List<String^>();
dinosaurs->Add("Tyrannosaurus");
dinosaurs->Add("Amargasaurus");
dinosaurs->Add("Mamenchisaurus");
dinosaurs->Add("Brachiosaurus");
dinosaurs->Add("Compsognathus");
Console::WriteLine();
for each(String^ dinosaurs in dinosaurs )
{
Console::WriteLine(dinosaurs);
}
// Create an array of 15 strings.
array<String^>^ arr = gcnew array<String^>(15);
dinosaurs->CopyTo(arr);
dinosaurs->CopyTo(arr, 6);
dinosaurs->CopyTo(2, arr, 12, 3);
Console::WriteLine("\nContents of the array:");
for each(String^ dinosaurs in arr )
{
Console::WriteLine(dinosaurs);
}
}
/* This code example produces the following output:
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus
IndexOf("Tyrannosaurus"): 0
IndexOf("Tyrannosaurus", 3): 5
IndexOf("Tyrannosaurus", 2, 2): -1
*/
using System;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
List<string> dinosaurs = new List<string>();
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Brachiosaurus");
dinosaurs.Add("Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
// Declare an array with 15 elements.
string[] array = new string[15];
dinosaurs.CopyTo(array);
dinosaurs.CopyTo(array, 6);
dinosaurs.CopyTo(2, array, 12, 3);
Console.WriteLine("\nContents of the array:");
foreach(string dinosaur in array)
{
Console.WriteLine(dinosaur);
}
}
}
/* This code example produces the following output:
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus
Contents of the array:
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus
Mamenchisaurus
Brachiosaurus
Compsognathus
*/
Imports System.Collections.Generic
Public Class Example
Public Shared Sub Main()
Dim dinosaurs As New List(Of String)
dinosaurs.Add("Tyrannosaurus")
dinosaurs.Add("Amargasaurus")
dinosaurs.Add("Mamenchisaurus")
dinosaurs.Add("Brachiosaurus")
dinosaurs.Add("Compsognathus")
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
' Declare an array with 15 elements (0 through 14).
Dim array(14) As String
dinosaurs.CopyTo(array)
dinosaurs.CopyTo(array, 6)
dinosaurs.CopyTo(2, array, 12, 3)
Console.WriteLine(vbLf & "Contents of the array:")
For Each dinosaur As String In array
Console.WriteLine(dinosaur)
Next
End Sub
End Class
' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
'
'Contents of the array:
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
'
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
CopyTo(T[], Int32)
- Исходный код:
- List.cs
- Исходный код:
- List.cs
- Исходный код:
- List.cs
Копирует List<T> целиком в совместимый одномерный массив, начиная с указанного индекса конечного массива.
public:
virtual void CopyTo(cli::array <T> ^ array, int arrayIndex);
public void CopyTo (T[] array, int arrayIndex);
abstract member CopyTo : 'T[] * int -> unit
override this.CopyTo : 'T[] * int -> unit
Public Sub CopyTo (array As T(), arrayIndex As Integer)
Параметры
- array
- T[]
Одномерный массив Array, в который копируются элементы из интерфейса List<T>. Массив Array должен иметь индексацию, начинающуюся с нуля.
- arrayIndex
- Int32
Отсчитываемый от нуля индекс в массиве array
, указывающий начало копирования.
Реализации
Исключения
array
имеет значение null
.
Значение параметраarrayIndex
меньше 0.
Число элементов в исходной коллекции List<T> больше доступного места от положения, заданного значением параметра arrayIndex
, до конца массива назначения array
.
Комментарии
Этот метод использует Array.Copy для копирования элементов.
Элементы копируются в в Array том же порядке, в котором перечислитель выполняет итерацию по List<T>.
Этот метод является операцией O(n), где n — .Count
Применяется к
CopyTo(Int32, T[], Int32, Int32)
- Исходный код:
- List.cs
- Исходный код:
- List.cs
- Исходный код:
- List.cs
Копирует диапазон элементов из списка List<T> в совместимый одномерный массив, начиная с указанного индекса конечного массива.
public:
void CopyTo(int index, cli::array <T> ^ array, int arrayIndex, int count);
public void CopyTo (int index, T[] array, int arrayIndex, int count);
member this.CopyTo : int * 'T[] * int * int -> unit
Public Sub CopyTo (index As Integer, array As T(), arrayIndex As Integer, count As Integer)
Параметры
- index
- Int32
Отсчитываемый от нуля индекс исходного списка List<T>, с которого начинается копирование.
- array
- T[]
Одномерный массив Array, в который копируются элементы из интерфейса List<T>. Массив Array должен иметь индексацию, начинающуюся с нуля.
- arrayIndex
- Int32
Отсчитываемый от нуля индекс в массиве array
, указывающий начало копирования.
- count
- Int32
Число элементов для копирования.
Исключения
array
имеет значение null
.
Значение параметраindex
меньше 0.
-или-
Значение параметраarrayIndex
меньше 0.
-или-
Значение параметраcount
меньше 0.
Значение параметра index
больше или равно значению Count исходного списка List<T>.
-или-
Число элементов от index
до конца исходного списка List<T> больше доступного места от положения, заданного значением параметра arrayIndex
, до конца массива назначения array
.
Комментарии
Этот метод использует Array.Copy для копирования элементов.
Элементы копируются в в Array том же порядке, в котором перечислитель выполняет итерацию по List<T>.
Этот метод является операцией O(n), где n — .count
Применяется к
CopyTo(T[])
- Исходный код:
- List.cs
- Исходный код:
- List.cs
- Исходный код:
- List.cs
Копирует весь список List<T> в совместимый одномерный массив, начиная с первого элемента целевого массива.
public:
void CopyTo(cli::array <T> ^ array);
public void CopyTo (T[] array);
member this.CopyTo : 'T[] -> unit
Public Sub CopyTo (array As T())
Параметры
- array
- T[]
Одномерный массив Array, в который копируются элементы из интерфейса List<T>. Массив Array должен иметь индексацию, начинающуюся с нуля.
Исключения
array
имеет значение null
.
Число элементов в исходном массиве List<T> больше числа элементов, которые может содержать массив назначения array
.
Комментарии
Этот метод использует Array.Copy для копирования элементов.
Элементы копируются в в Array том же порядке, в котором перечислитель выполняет итерацию по List<T>.
Этот метод является операцией O(n), где n — .Count