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