Метод CopyTo
Метод CopyTo требует, чтобы
приёмник был не короче источника.
Иначе - ArgumentException.
Независимая копия -
ToArray.
Синтаксис
span.CopyTo(destination);
Пример
Давайте скопировать
{ 1, 2 } в массив длины
2:
using System;
class Program
{
static void Main()
{
int[] src = { 1, 2 };
int[] dst = new int[2];
src.AsSpan().CopyTo(dst);
int res = dst[0];
Console.WriteLine(res);
}
}
Результат выполнения кода:
1
Пример
Давайте проверить второй элемент приёмника:
using System;
class Program
{
static void Main()
{
int[] src = { 1, 2 };
int[] dst = new int[2];
src.AsSpan().CopyTo(dst);
int res = dst[1];
Console.WriteLine(res);
}
}
Результат выполнения кода:
2
Пример
Давайте копировать в массив
длины 1:
using System;
class Program
{
static void Main()
{
int[] src = { 1, 2 };
int[] dst = new int[1];
try
{
src.AsSpan().CopyTo(dst);
}
catch (ArgumentException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Смотрите также
-
ToArray,
новый массив -
Fill,
заполнение на месте -
Slice,
общая память -
ReadOnlySpan,
источник только для чтения