Span
Span<T> - ref struct:
поле обычного класса типа
Span не компилируется.
Длину смотрят в
Length,
кусок берут через
Slice.
Хранимый аналог -
Memory.
Синтаксис
int[] data = { 1, 2, 3 };
Span<int> span = data;
Пример
Давайте изменить массив через
span[0]:
using System;
class Program
{
static void Main()
{
int[] data = { 1, 2, 3 };
Span<int> span = data;
span[0] = 9;
int res = data[0];
Console.WriteLine(res);
}
}
Результат выполнения кода:
9
Пример
Давайте прочитать длину отрезка:
using System;
class Program
{
static void Main()
{
int[] data = { 1, 2, 3 };
Span<int> span = data;
int res = span.Length;
Console.WriteLine(res);
}
}
Результат выполнения кода:
3
Пример
Давайте проверить, что отрезок не пустой:
using System;
class Program
{
static void Main()
{
int[] data = { 1, 2, 3 };
Span<int> span = data;
bool res = span.IsEmpty;
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Смотрите также
-
ReadOnlySpan,
только чтение -
Slice,
подотрезок -
Memory,
хранимый отрезок -
ToArray,
копия в массив