Метод CopyTo
Метод CopyTo класса
List<T> копирует элементы
в одномерный массив. Есть перегрузки с
начальным индексом в массиве и с диапазоном
в списке.
Синтаксис
list.CopyTo(array);
list.CopyTo(index, array, arrayIndex, count);
Пример
Давайте скопируем список в массив:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
int[] arr = new int[5];
nums.CopyTo(arr);
Console.WriteLine(string.Join(" ", arr));
}
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте скопируем с offset в массиве:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
int[] arr = new int[7];
nums.CopyTo(0, arr, 1, 5);
Console.WriteLine(arr[1]);
Console.WriteLine(arr[5]);
}
}
Результат выполнения кода:
1
5
Пример
Давайте скопируем участок списка:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
int[] arr = new int[3];
nums.CopyTo(1, arr, 0, 3);
Console.WriteLine(string.Join(" ", arr));
}
}
Результат выполнения кода:
2 3 4
Пример
Давайте скопируем строки:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> items = new List<string> {"a", "b", "c", "d", "e"};
string[] arr = new string[5];
items.CopyTo(arr);
Console.WriteLine(string.Join(" ", arr));
}
}
Результат выполнения кода:
a b c d e
Смотрите также
-
метод
ToArray,
который создаёт новый массив -
метод
GetRange,
который вырезает часть в новый список -
интерфейс
ICollection,
который тоже описывает CopyTo -
метод
AddRange,
который дописывает из коллекции