Метод ToArray
Метод ToArray выделяет
новую память. Изменения
исходного Span после
копии не затрагивают массив
результата. Копия в существующий
буфер -
CopyTo.
Синтаксис
T[] array = span.ToArray();
Пример
Давайте скопировать и прочитать первый элемент:
using System;
class Program
{
static void Main()
{
int[] data = { 1, 2, 3 };
int[] copy = data.AsSpan().ToArray();
int res = copy[0];
Console.WriteLine(res);
}
}
Результат выполнения кода:
1
Пример
Давайте изменить Span
после копии:
using System;
class Program
{
static void Main()
{
int[] data = { 1, 2, 3 };
Span<int> span = data;
int[] copy = span.ToArray();
span[0] = 9;
int res = copy[0];
Console.WriteLine(res);
}
}
Результат выполнения кода:
1
Пример
Давайте убедиться, что исходный массив изменился:
using System;
class Program
{
static void Main()
{
int[] data = { 1, 2, 3 };
Span<int> span = data;
span.ToArray();
span[0] = 9;
int res = data[0];
Console.WriteLine(res);
}
}
Результат выполнения кода:
9
Смотрите также
-
CopyTo,
в готовый буфер -
Slice,
без копии -
Memory,
другая обёртка -
ReadOnlySpan,
чтение источника